关于python中使用mongodb模块,save和insert的小问题
作者:csc1520075 | 来源:互联网 | 2023-05-24 19:15
今天写python脚本的时候发现这样一个问题:importos,string,datetime,pymongo;connpymongo.Connection(&qu
今天写python脚本的时候发现这样一个问题:
import os , string , datetime ,pymongo;
conn = pymongo.Connection("127.0.0.1",27017);
db = conn.nn;
coll = db.nn_res;
value = dict(name="user1",num="1");
coll.save(value);
coll.insert(value);
View Code
执行脚本之后会发现,save和insert只执行了一条,而且跟insert和save出现的先后顺序没有关系,然后我去查看官网上关于save和insert的说明,发现save的部分解释是这样的:
db.collection.save(document)
Updates an existing document or inserts a new document, depending on its document parameter.
The save() method takes the following parameter:
Parameter Type Description
document document A document to save to the collection.
If the document does not contain an _id field, then the save() method performs an insert. During the operation, mongod will add to the document the _id field and assign it a unique ObjectId.
If the document contains an _id field, then the save() method performs an upsert, querying the collection on the _id field. If a document does not exist with the specified _id value, the save() method performs an insert. If a document exists with the specified _id value, the save() method performs an update that replaces all fields in the existing document with the fields from the document.
View Code
import os , string , datetime ,pymongo;
conn = pymongo.Connection("127.0.0.1",27017);
db = conn.nn;
coll = db.nn_res;
value1 = dict(name="user1",num="1");
value2 = dict(name="user1",num="1");
coll.save(value1);
coll.insert(value2);