Questions tagged «mongodb-query»

该标签用于与通过mongo shell或使用编程语言驱动程序查询和更新MongoDB集合有关的问题。

6
在数组中的ObjectId上的$ lookup
在由ObjectId数组而不是单个ObjectId组成的字段上执行$ lookup的语法是什么? 订单文档示例: { _id: ObjectId("..."), products: [ ObjectId("..<Car ObjectId>.."), ObjectId("..<Bike ObjectId>..") ] } 不起作用的查询: db.orders.aggregate([ { $lookup: { from: "products", localField: "products", foreignField: "_id", as: "productObjects" } } ]) 所需结果 { _id: ObjectId("..."), products: [ ObjectId("..<Car ObjectId>.."), ObjectId("..<Bike ObjectId>..") ], productObjects: [ {<Car Object>}, {<Bike Object>} ], }

8
从mongodb集合获取最新记录
我想知道集合中的最新记录。怎么做? 注意:我知道以下命令行查询有效: 1. db.test.find().sort({"idate":-1}).limit(1).forEach(printjson); 2. db.test.find().skip(db.test.count()-1).forEach(printjson) 其中idate已添加时间戳。 问题是收集需要更长的时间才能取回数据,而我的“测试”收集确实非常庞大。我需要一个具有恒定时间响应的查询。 如果有更好的mongodb命令行查询,请告诉我。



6
溢出排序阶段缓冲的数据使用量超出内部限制
使用代码: all_reviews = db_handle.find().sort('reviewDate', pymongo.ASCENDING) print all_reviews.count() print all_reviews[0] print all_reviews[2000000] 计数打印2043484,然后打印all_reviews[0]。 但是在打印时all_reviews[2000000],出现错误: pymongo.errors.OperationFailure:数据库错误:运行程序错误:溢出排序阶段缓冲的33554495字节的数据使用量超过了33554432字节的内部限制 我该如何处理?

6
将mongo查询的输出重定向到csv文件
我将MongoDB 2.2.2用于32位Windows7计算机。我在.js文件中有一个复杂的聚合查询。我需要在外壳上执行此文件,并将输出定向到CSV文件。我确保查询返回“平面” json(无嵌套键),因此它本质上可以转换为纯csv。 我知道load()和eval()。eval()需要我将整个查询粘贴到外壳中,并且只允许printjson()在脚本内部,而我需要csv。第二种方法:load()..它将输出显示在屏幕上,并再次以json格式输出。 Mongo有没有办法从json转换为csv?(我需要csv文件来准备关于数据的图表)。我在想: 1.这两个mongo都有一个内置命令,我现在找不到。 2. Mongo不能为我做;我最多可以将json输出发送到文件,然后自己将其转换为csv。 3. Mongo可以将json输出发送到临时集合,其内容可以轻松转换mongoexported为csv格式。但是我认为只有map-reduce查询支持输出集合。那正确吗?我需要它来进行聚合查询。 谢谢你的帮助 :)

4
如何在mongodb中使用$ lookup加入多个集合
我想使用聚合在MongoDB中加入两个以上的集合$lookup。有可能参加吗?给我一些例子。 这里有三个集合: users: { "_id" : ObjectId("5684f3c454b1fd6926c324fd"), "email" : "admin@gmail.com", "userId" : "AD", "userName" : "admin" } userinfo: { "_id" : ObjectId("56d82612b63f1c31cf906003"), "userId" : "AD", "phone" : "0000000000" } userrole: { "_id" : ObjectId("56d82612b63f1c31cf906003"), "userId" : "AD", "role" : "admin" }

2
仅返回嵌套数组中匹配的子文档元素
主要集合是零售商,其中包含商店数组。每个商店都包含一系列优惠(您可以在此商店中购买)。此提供的数组具有大小的数组。(请参见下面的示例) 现在,我尝试查找所有可用尺寸的报价L。 { "_id" : ObjectId("56f277b1279871c20b8b4567"), "stores" : [ { "_id" : ObjectId("56f277b5279871c20b8b4783"), "offers" : [ { "_id" : ObjectId("56f277b1279871c20b8b4567"), "size": [ "XS", "S", "M" ] }, { "_id" : ObjectId("56f277b1279871c20b8b4567"), "size": [ "S", "L", "XL" ] } ] } } 我已经尝试过以下查询: db.getCollection('retailers').find({'stores.offers.size': 'L'}) 我期望这样的输出: { "_id" : ObjectId("56f277b1279871c20b8b4567"), "stores" …

6
MongoDB“ root”用户
MongoDB是否有像“ root”用户这样的超级UNIX用户?我一直在看http://docs.mongodb.org/manual/reference/user-privileges/,并尝试了许多组合,但它们似乎都缺少某个区域或另一个区域。当然,在这里列出的所有角色中,首先要有一个角色。

6
如何将pymongo.cursor.Cursor转换为dict?
我正在使用pymongo来查询区域中的所有项目(实际上是在地图上查询区域中的所有场所)。我db.command(SON())以前使用过在球形区域中搜索,该区域可以为我返回一本字典,并且在字典中有一个名为的键results,其中包含场所。现在,我需要在一个正方形区域中搜索,建议使用db.places.find,但是,这返回了一个pymongo.cursor.Cursor班级,我不知道如何从中提取场地结果。 有谁知道我应该将光标转换为字典并提取结果,还是使用另一种方法来查询正方形区域中的项目?顺便说一句,db是pymongo.database.Database类 代码是: >>> import pymongo >>> db = pymongo.MongoClient(host).PSRC >>> resp = db.places.find({"loc": {"$within": {"$box": [[ll_lng,ll_lat], [ur_lng,ur_lat]]}}}) >>> for doc in resp: >>> print(doc) 我有ll_lng,ll_lat,ur_lng和ur_lat的值,使用这些值,但是此代码中什么都不会打印
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.