Python pymongo在插入时将_id字段添加到我的字典中
考虑这个例子:Python pymongo在插入时将_id字段添加到我的字典中,python,windows,mongodb,python-2.7,pymongo,Python,Windows,Mongodb,Python 2.7,Pymongo,考虑这个例子: f = {'a': 'b'} col.insert(f) print f ,其中,col是mongodb集合 上述代码将打印以下行中的某些内容: {'a': 'b', '_id': ObjectId('5278bc183e8b1310247e047b')} 我知道为什么mongo在将文档插入集合时需要添加\u id字段,但我不明白为什么它必须修改作为参数传递的字典。我希望我的字典f保持不变 我知道我可以在插入后delf[''u id'],但是有没有任何参数可以传递给inser
f = {'a': 'b'}
col.insert(f)
print f
,其中,col
是mongodb集合
上述代码将打印以下行中的某些内容:
{'a': 'b', '_id': ObjectId('5278bc183e8b1310247e047b')}
我知道为什么mongo在将文档插入集合时需要添加\u id
字段,但我不明白为什么它必须修改作为参数传递的字典。我希望我的字典f
保持不变
我知道我可以在插入后
delf[''u id']
,但是有没有任何参数可以传递给insert
,使其不会修改我的dict?只需将操纵
参数设置为假
,例如:
col.insert(f, manipulate=False)
请参见只需将
操纵
参数设置为假
,例如:
col.insert(f, manipulate=False)
请参见如果我正确理解了上的文档,
操纵
参数就是您要查找的:
如果“操纵”为True,则使用已添加到此数据库的任何操纵器实例操纵文档。在这种情况下,如果文档尚未包含一个,则将添加一个“_id”,并返回“id”(或多个文档的“_id”值列表)。如果“操纵”为False且文档不包含“\u id”,则服务器将添加一个。服务器不返回它创建的“\u id”,因此不返回任何id
如果我正确理解了上的文档,
操纵
参数就是您要查找的:
如果“操纵”为True,则使用已添加到此数据库的任何操纵器实例操纵文档。在这种情况下,如果文档尚未包含一个,则将添加一个“_id”,并返回“id”(或多个文档的“_id”值列表)。如果“操纵”为False且文档不包含“\u id”,则服务器将添加一个。服务器不返回它创建的“\u id”,因此不返回任何id
当我在发布问题之前第一次尝试这样做时,我键入了
f={'a','b'}
创建了一个集合而不是dict,结果导致了一个错误。。。但是是的。。。它确实有效。谢谢当我在发布问题之前第一次尝试这样做时,我键入了f={'a','b'}
创建了一个集合而不是dict,结果导致了一个错误。。。但是是的。。。它确实有效。谢谢