要在插入期间查找文档的_id

时间:2015-10-14 23:17:40

标签: python mongodb

我创建了几个文档并插入到Mongo DB中。我正在使用python。有没有办法可以获得特定记录的_id? 我知道我们在插入过程中会得到_id。但是,如果我需要以横向间隔使用它,我可以通过使用find()命令来获取它吗?

3 个答案:

答案 0 :(得分:0)

您可以使用投影来获取文档中的特定字段,例如

db.collection.find({query},{_ id:1})这将只返回_id

http://docs.mongodb.org/manual/reference/method/db.collection.find/

答案 1 :(得分:0)

在python中,您可以使用 find_one() 方法获取文档并访问_id属性,如下所示:

def get_id(value):
    # Get the document with the record:
    document = client.db.collection.find_one({'field': value}, {'_id': True})
    return document['_id']

答案 2 :(得分:0)

插入记录时,可以指定_id值。这也为您在使用ReplicaSet时带来了好处。

from pymongo.objectid import ObjectId

client.db.collection.insert({'_id': ObjectId(), 'key1': value....})    

您可以将这些ID存储在列表中,如果在插入后立即出现需要_id的要求,可以在以后使用它。