Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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 pymongo在插入时将_id字段添加到我的字典中_Python_Windows_Mongodb_Python 2.7_Pymongo - Fatal编程技术网

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,结果导致了一个错误。。。但是是的。。。它确实有效。谢谢