数据库插入操作 MongoDB
发布时间:2023-02-08 12:59:46 所属栏目:MySql教程 来源:
导读: 先针对上篇文章中MongoDB的_id字段含义做一些补充的描述,上篇文章地址:
补充说明:MongoDB是一个分布式的数据库数据库插入操作,使用ObjectId类型数据作为主键的话,可以有效避免不同机器写入数据时_id
补充说明:MongoDB是一个分布式的数据库数据库插入操作,使用ObjectId类型数据作为主键的话,可以有效避免不同机器写入数据时_id
|
先针对上篇文章中MongoDB的_id字段含义做一些补充的描述,上篇文章地址: 补充说明:MongoDB是一个分布式的数据库数据库插入操作,使用ObjectId类型数据作为主键的话,可以有效避免不同机器写入数据时_id的唯一性。上篇文章中有介绍过ObjectId类型的_id每一位对应的含义。 除了之前介绍过的,可以自定义_id的值以外,_id字段的类型除了可以用字符串、数字以外,还可以用一些比较复杂的数据格式做主键: db.getCollection("user").insert({"_id":{"regionId":6,"name":"小燕子"}, "name": "小燕子","age": 18,"height": 178}) 复制 接下来我们一起看一下在mongodb中要插入数据的话,格式是怎么样的: 插入单条数据语法: db.collection.insert( , {writeConcern: , ordered: })db.collection.insertOne( , {writeConcern: }) 复制 使用案例: db.getCollection("user").insert({"name": "尔康"}) db.getCollection("user").insert({"name": "尔康"},{ordered:true}) db.getCollection("user").insertOne({name: "金锁", "age": 45, "sex": "girl"}) db.getCollection("user").insertOne({_id: "No.01",name: "尔泰", "age": 36, "sex": "boy"}) 复制 注意事项: insertOne函数一次只能插入一条数据,如果插入多条的话,是会报错的: 插入多条: db.collection.insert([ , , ... ], {writeConcern: , ordered: })db.collection.insertMany([ , , ... ], {writeConcern: , ordered: }) 复制 参数说明(部分参数在单条和多条插入时均可用): 使用案例: db.getCollection("user").insert([ { _id: "No.01", name: "紫薇", "age": 50, "sex": "girl" }, { name: "乾隆", "age": 70, "sex": "boy" }, { name: "五阿哥", "age": 45, "sex": "boy" } ]) db.getCollection("user").insertMany([ { _id: "No.02", name: "萧十一郎", "age": 50, "sex": "girl" }, { name: "杨开泰", "age": 70, "sex": "boy" }, { name: "连城璧", "age": 45, "sex": "boy" } ]) 复制 save方法: db.getCollection("user").save({_id: "No.01",name: "尔泰", "age": 36, "sex": "boy"}) db.getCollection("user").save({_id: "No.01",name: "尔泰1", "age": 36, "sex": "boy"}) db.user.find({}) 复制 从上图可以看出:save是插入/覆盖操作。 注意:save方法一次只能操作一条记录,操作多条的时候会报错: insertOne和save不同,主键冲突时insertOne会报错,而save会直接用新值覆盖久值 (编辑:PHP编程网 - 钦州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐




浙公网安备 33038102330484号