草庐IT

java - MongoDB : find matching elements in an array with given attributes using java driver

试图将我的游戏迁移到mongodb(linux-i686-2.4.6)但到目前为止有很多困难:(一个是那个;我有一个名为gamesTable的集合,其中包含以下元素,我想在playerHistories数组中进行搜索。{"_id":{"$oid":"52307b8fe4b0fc612dea2c70"},"id":"52307b8fe4b0fc612dea2c70","name":"poker","initTime":1378909071070,"startTime":1378909071098,"endTime":1378909071134,"playerHistories":[{"p

MongoDB 聚合 $group 和 $match 组结果

我有一个集合如下{"_id":ObjectId("553b2c740f12bb30f85bd41c"),"symbol":"EUR/GBP","order_id":"PW_BarclaysTrades60530","ticket_id":"PW_BarclaysTrades.60530","basketid":"TESTBASKET-1428483828043","date_sent":ISODate("2015-04-07T18:30:00.000Z"),"destination":"BarclaysTrades","order_price":0.0000000000000000,"

ruby-on-rails - MongoDB/Mongoid : search for documents matching first item in array

我有一个包含数组的文档:{_id:ObjectId("515e10784903724d72000003"),association_chain:[{name:"Product",id:ObjectId("4e1e2cdd9a86652647000003")}],//...}我正在尝试在集合中搜索association_chain数组中第一项的name与给定值匹配的文档。我如何使用Mongoid执行此操作?或者,如果您只知道如何使用MongoDB完成此操作,如果您发布一个示例,那么我可能会弄清楚如何使用Mongoid完成此操作。 最佳答案

mongodb - 蒙戈 : how to retrieve ONLY subdocs that match certain properties

例如,有一个名为test的集合,其中包含以下文档:{"_id":ObjectId("5692ac4562c824cc5167379f"),"list":[{"name":"elem1","type":1},{"name":"elem2","type":2},{"name":"elem3","type":1},{"name":"elem4","type":3},{"name":"elem4","type":2}]}假设我想检索仅list中匹配的那些子文档的列表:类型=2。我尝试了以下查询:db.getCollection('test').find({'_id':ObjectId("569

mongodb - Mongo 通过正则表达式查找 : return only matching string

我的应用程序有以下堆栈:Ruby上的Sinatra->MongoMapper->MongoDB应用程序将多个条目放入数据库中。为了交叉链接到其他页面,我添加了某种语法。例如:Coffeeisablack,caffeinatedliquidmadefrombeans.{Tea}ismadefromleaves.Bothdrinksaresometimesenjoyedwith{milk}在此示例中,{Tea}将链接到另一个关于茶的数据库条目。我正在尝试查询我的mongoDB关于所有“链接的术语”。通常在ruby​​中我会做这样的事情:/{([a-zA-Z0-9])+}/其中()将返回匹配

adb server version (41) doesn‘t match this client (39)

异常:adbserverversion(41)doesn'tmatchthisclient(39);killing...ADBserverdidn'tACK安装ADB后:查看版本$adbversionAndroidDebugBridgeversion1.0.39Version1:8.1.1-1+r23-5.4-1+eagleInstalledas/usr/lib/android-sdk/platform-tools/adb确定当前系统安装目录:/usr/lib/android-sdk/platform-tools/adb版本为:39和远程设备版本不匹配解决:找一个41的版本,替换该目录(/us

node.js - MongoDB - Mongoose : Aggregate generation, $match $group $project

我是mongoDB世界的新手。我正在使用expressJS和mongoose作为数据库在nodeJS上开发一个网站。我正在研究图形方向,我用这个模型生成了一个数据库:varuserSchema=newSchema({profile:{sexe:String,//('male'or'female')age:String,//('kid','adult','old')rank:String,//('low','middle','high')},design:{luminosity:String,//('light','dark')color:String,//('blue','green'

mongodb - 如何在 mongodb 的正则表达式 $match 中使用来自聚合的字段?

我的用例的一个非常简化的版本是查找所有以作者姓名开头的帖子,如下所示:>db.users.find();{"_id":ObjectId("5c4185be19da7e815cb18f59"),"name":"User1"}{"_id":ObjectId("5c4185be19da7e815cb18f5a"),"name":"User2"}db.posts.insert([{author:ObjectId("5c4185be19da7e815cb18f59"),text:"User1ismyname"},{author:ObjectId("5c4185be19da7e815cb18f5a

node.js - 可选 $match 管道运算符的 Mongodb 聚合追加方法

我在mongodb2.6中使用nodejs+mongoosejs。我在模型上有一个静态函数,该函数对集合中所有项目的值求和。每个项目都使用projectNo属性分配给一个项目。我需要静态函数能够为我提供集合的总数,如果传递了projectNo参数,则将$match管道运算符添加到聚合中。这将使我不必制作2个本质上做同样事情的静态函数。为了让事情更有趣一点,我使用bluebirdpromisifyAll方法让聚合框架返回一个promise。我对整个集合求和的静态函数:db.collection.aggregateAsync([{$group:{_id:null,金额:{$sum:"$am

java - Mongodb (v2.4.0) $match 聚合不适用于日期范围

我正在通过maven存储库(如下面的pom.xml中)使用mongodbjava驱动程序来查询具有聚合框架的日期范围之间的事务。Java驱动程序生成以下$match,我试图在mongo控制台上验证它,但发现它不起作用:db.transactions.aggregate({"$match":{"created_at":{"$gt":{"$date":"2001-04-12T12:00:00.000Z"},"$lte":{"$date":"2020-04-13T12:00:00.000Z"}}}})如果我删除$dateblock并将其替换为ISOdate函数和日期字符串,那么它似乎可以正常