关于python中使用mongodb模块,save和insert的小问题
今天写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);
执行脚本之后会发现,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.