从mongo查询结果中获取id

时间:2015-04-28 10:36:01

标签: mongodb

我在mongo控制台上有以下查询

db.photos.find({'creation_date': {$gte: <somedate>)}}).

有没有办法只使用mongo shell从查询结果中提取id?

3 个答案:

答案 0 :(得分:3)

尝试使用 map() 游标方法

var ids = db.photos.find({'creation_date': { '$gte': <somedate>) } }, {'_id': 1})
                   .map(function (doc){ return doc._id; })

您也可以使用 distinct() 方法

var ids = db.photos.distinct('_id', {'creation_date': { '$gte': <somedate>) } })

toArray() 上的 aggregate() 光标方法为

var ids = db.photos.aggregate([
    { '$match': {'creation_date': { '$gte': <somedate>) } } }
    { '$group': { '_id': 0, 'ids': { '$push': '$_id' } } }
]).toArray()[0].ids

答案 1 :(得分:2)

MongoDb提供查询结果的限制字段

在以下链接中查看更多信息

http://docs.mongodb.org/manual/tutorial/project-fields-from-query-results/

db.photos.find({'creation_date':{$ gte:)},{“_ id”:1}});

返回

{   “_id”:1 } {   “-id”:2 } ...

答案 2 :(得分:2)

您可以使用distinct代替find

collection.distinct('_id', {'creation_date': some_date})