Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 查找文档的_id而不是在插入期间_Python_Mongodb - Fatal编程技术网

Python 查找文档的_id而不是在插入期间

Python 查找文档的_id而不是在插入期间,python,mongodb,Python,Mongodb,我已经创建了几个文档并插入到MongoDB中。我正在使用python进行同样的操作。有没有一种方法可以让我从中获取特定记录的_id? 我知道我们在插入过程中得到了_id。但是如果我需要以横向间隔使用它,有没有一种方法可以通过使用find()命令来获取它?您可以使用投影从文档中获取特定字段,如下所示 find({query},{u id:1})这将只返回{u id 在python中,您可以使用方法获取文档并访问\u id属性,如下所示: def get_id(value): # Get t

我已经创建了几个文档并插入到MongoDB中。我正在使用python进行同样的操作。有没有一种方法可以让我从中获取特定记录的_id?
我知道我们在插入过程中得到了_id。但是如果我需要以横向间隔使用它,有没有一种方法可以通过使用find()命令来获取它?

您可以使用投影从文档中获取特定字段,如下所示

find({query},{u id:1})这将只返回{u id


在python中,您可以使用方法获取文档并访问
\u id
属性,如下所示:

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

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

from pymongo.objectid import ObjectId

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

您可以将这些id存储在一个列表中,并在以后使用它,如果您在插入后立即需要该id。

当然可以:)@SergiuZaharie请详细说明您想做什么?每个文档都有一个_id,当然您可以搜索文档并显示其_id。
\u id
将在您使用
查找
时作为文档的一部分返回。此链接提供返回选择性字段的选项。是否有任何选项仅检索id字段@迪恩