MongoDB插入文档(3中方法)
insert() 与 save() 方法
您可以使用 MongoDB 中的 insert() 或 save() 方法向中插入文档,语法如下:db.collection_name.insert(document)
db.collection_name.save(document)
语法说明如下:save():如果 _id 主键存在则更新数据,如果不存在就插入数据。不过该方法在新版本的 MongoDB 中已废弃,您可以使用 insertOne() 或 replaceOne() 方法来代替;
insert(): 若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,并提示主键重复,不保存当前数据。
【示例】使用 insert() 方法向中插入文档:
文档插入成功后您可以使用 find() 方法来查看中文档的内容,如下所示:> db.user.insert([
... {
... name:"张三",
... phone:""
... },{
... name:"李四",
... phone:""
... },{
... name:"王五",
... phone:""
... }
... ])
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 3,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
文档中 _id 为主键 ID,它在每个文档中都是的,在插入文档时,如果不指定 _id,MongoDB 则会为此文档自动分配一个的 _id,当然您也可以手动定义 _id 的值。> db.user.find()
{ "_id" : ObjectId("6030d907d029695c0c340c43"), "name" : "张三", "phone" : "" }
{ "_id" : ObjectId("6030d907d029695c0c340c44"), "name" : "李四", "phone" : "" }
{ "_id" : ObjectId("6030d907d029695c0c340c45"), "name" : "王五", "phone" : "" }
insertOne() 方法
insert() 方法可以同时插入多个文档,但如果您只需要将一个文档插入到中的话,可以使用 insertOne() 方法,该方法的语法格式如下:db.collection_name.insertOne(document)
【示例】使用 insertOne() 方法向中插入一个文档:> db.user.insertOne({
... title:"编程帮",
... url:"www.biancheng网站站点" rel="nofollow" />
> db.user.insertMany([
... {
... name:"张三",
... phone:""
... },{
... name:"李四",
... phone:""
... },{
... name:"王五",
... phone:""
... }
... ])
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("6030dbf2d029695c0c340c46"),
ObjectId("6030dbf2d029695c0c340c47"),
ObjectId("6030dbf2d029695c0c340c48")
]
}
> db.user.find()
{ "_id" : ObjectId("6030dbf2d029695c0c340c46"), "name" : "张三", "phone" : "" }
{ "_id" : ObjectId("6030dbf2d029695c0c340c47"), "name" : "李四", "phone" : "" }
{ "_id" : ObjectId("6030dbf2d029695c0c340c48"), "name" : "王五", "phone" : "" }