db.createCollection("test") // 创建 mongodb集合
-------------------------------------------------------------------------------------------------------------------------------------
添加
// insert插入,当_id 重复时,会报 重复键异常
db.test.insert({name: "小明", age: 18, hobby:["打篮球", "唱歌", "游泳"], student:{id:"123", grade: 1, birthday: "11-11", group: ["basketball", "dance", "football"]}})
// save 插入,当_id 重复时,会进行更新,不存在则保存 【注:如果此数据有其他字段,那么会删除除了name外的所有字段】
db.test.save({_id: "60e26490c507ea847a6a2cd1", name: "小红"})
// 插入多条数据
db.test.insertMany([{name: "小明3", age: 1},{ name: "小明4", age: 2}])
// 后面的数据会覆盖前面的字段,【name 小明2 覆盖 name 小明1】
db.test.insert({name: "小明1", age: 1, name: "小明2", age: 2})
// 这么写,只会保存前面的 即: name:"小明1",age: 1
db.test.insert({name: "小明1", age: 1},{ name: "小明2", age: 2})
--------------------------------------------------------------------------------------------------------------------------------------
更新
db.test.update(query, {$set:{update}})
更新单个字段
db.test.update({name: "小明3"}, {$set:{age: 22}})
更新多个字段
db.test.update({name: "小明3"}, {$set:{age: 22,name: "小明33"}})
只能更新一条
db.test.update({age: 2}, {$set: {age: 2222}})
$set 可以更新多条
db.test.updateMany({age: 2}, {$set: {age: 2222}})
$unset 更新 name=小明33 的数据,并且删除了这个数据的age字段
db.test.update({name: "小明33"}, {$unset: {age:1}})
$inc 更新字段增加值,查询到 name=小明33 的数据,age增加4,即:[ age = age + 4 ] 如果是 -4 那么就是 age = age - 4
db.test.update({name: "小明33"}, {$inc: {age:4}})
$rename 重命名字段,将 age 重命名 ageNew
db.test.update({name: "小明33"}, {$rename: {age: "ageNew"}})
$pop 更新集合 $pop:{hobby: 1|-1} 如果是 1 删除最后一个,如果是 -1 删除 第一个
db.test.insert({name: "stu1", age: 33, hobby: ["basketball", "sing", "football"]})
db.test.update({name: "stu1"}, {$pop: {hobby: 1}})
$push 向 hobby中增加一个 swam 属性值
db.test.update({name: "stu1"}, {$push:{hobby: "swam"}})
$addToSet 增加一个集合,如果集合名称存在,那么追加到对应字段中,不存在,那么新加 此字段
db.test.update({name: "stu1"}, {$addToSet:{hobby1: "1122"}})
--------------------------------------------------------------------------------------------------------------------------------------
删除
删除一条
db.test.deleteOne({age: 2})