该博文主要介绍mongoDB对文档数据的增加、更新、删除操作。
以下案例演示了插入单个文档、多个文档、指定_id、指定多个索引以及插入大量文档的情况。在实际使用中,根据需求选择适合的插入方式。
案例1:插入单个文档
db.visitor.insert({name:"John1", age:30})
案例2:插入多个文档
db.visitor.insert([{name:"John2", age:30}, {name:"Mary2", age:25}])
案例3:插入文档并指定_id
db.visitor.insert({_id:3, name:"John3", age:30})
案例4:插入文档并指定多个索引
db.visitor.insert({_id:4, name:"John4", age:30, index:true})
案例5:插入大量文档
db.visitor.insertMany([{name:"John", age:30}, {name:"Mary", age:25}, {name:"Peter", age:35},{name:"James", age:23}, {name:"MaryLi", age:26}, {name:"Jack", age:37}])
以下案例分别演示了更新单个字段、多个字段、多个文档、使用inc操作符更新数字字段和使用unset操作符删除字段的情况。
案例1:更新单个字段
在这个案例中,我们将更新集合中的一个文档的年龄字段。
db.visitor.update({_id: ObjectId("1234567890"), name: "John"}, {$set: {age: 35}})
案例2:更新多个字段
在这个案例中,我们将更新集合中的一个文档的年龄和姓名字段。
db.visitor.update({_id: ObjectId("1234567890")}, {$set: {name: "Jane", age: 35}})
案例3:更新多个文档
在这个案例中,我们将更新集合中所有年龄大于30的文档的年龄字段。
db.visitor.update({}, {$set: {age: 35}}, {multi: true})
案例4:使用inc操作符更新数字字段 在这个案例中,我们将使用inc操作符更新集合中一个文档的年龄字段。
db.visitor.update({_id: ObjectId("1234567890")}, {$inc: {age: 5}})
案例5:使用unset操作符删除字段 在这个案例中,我们将使用unset操作符删除集合中一个文档的年龄字段。
db.visitor.update({_id: ObjectId("1234567890")}, {$unset: {age: 1}})
以下案例分别演示了删除单个文档、多个文档、指定条件的文档、整个集合和指定数量的文档的情况。在实际使用中,根据需求选择适合的删除方式。注意,删除操作不可逆,请谨慎操作。
案例1:删除单个文档
在这个案例中,我们将删除集合中的一个文档。
db.visitor.remove({_id: ObjectId("1234567890")})
案例2:删除多个文档
在这个案例中,我们将删除集合中所有年龄大于30的文档。
db.visitor.remove({}, {multi: true})
案例3:删除指定条件的文档
在这个案例中,我们将删除集合中所有年龄大于30且名字为John的文档。
db.visitor.remove({age: {$gt: 30}, name: "John"})
案例4:删除整个集合
在这个案例中,我们将删除整个集合。
db.visitor.remove({})
案例5:删除指定数量的文档
在这个案例中,我们将删除集合中前两个文档。
db.visitor.remove({}, {limit: 2})