MongoDB插入数据的3种方法

在MongoDB中,可以通过以下3种方法插入数据:

1. 使用insertOne()方法插入一条数据:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mydict = { "name": "John", "age": 50 }
x = mycol.insert_one(mydict)

2. 使用insertMany()方法插入多条数据:

mylist = [
  { "name": "Amy", "age": 12 },
  { "name": "Michael", "age": 35 }
]
x = mycol.insert_many(mylist)

3. 使用db.collection.insert()方法:

mydb.customers.insert({
  "name": "Peter",
  "age": 30  
})

这3种方法的区别在于:

– insertOne() inserting a single document

– insertMany() inserting multiple documents

– db.collection.insert() legacy method to insert a single document所以根据需要插入一条或多条数据,可以选择使用insertOne(),insertMany()或db.collection.insert()方法。

需要注意的是:- 如果指定的_id值已存在,插入会失败。如果未指定_id,MongoDB默认会为每条数据生成ObjectId。- 在同一个client下,insertOne(),insertMany()和db.collection.insert()方法是线程安全的。但在多个客户端下同时插入相同集合则不是线程安全的。

– insertMany()可以批量插入,如果部分数据插入失败,操作不会回滚,成功插入的数据不会回滚。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论