一、-C create
db.集合名.insert(文档对象)
db.集合名.insertOne(文档对象)
db.集合名.insertMany([文档对象,文档对象])
二、 -R read
db.集合名.find(查询条件,[投影])
ex:db.students.find({age:18}) 查找年龄为18的所有信息
ex:db.students.find({age:18,name:‘jack’}) 查找年龄为18且名字为jack的学生
常用操作符
1⃣️.(<, <= , > , >= ,) !== 对应为:$lt $lte $gt $gte $ne
ex:db.集合名.find({age:{$gte:20}}) 年龄大于20 的
2⃣️.逻辑或:使用$in 或者 $or
举个🌰:查找年龄为18或20的学生
方法一:db.students.find({age:{$in:[18,20]}})
方法二:db.students.find({$or[{age:18},{age:20}]})
3⃣️.逻辑非:$nin
4⃣️.正则匹配:
举个🌰:db.students.find({name:/^T/})
5⃣️.$where(能写函数):
举个🌰:db.studnet.find({$where:function(){
return this.name === ‘zhang san’ && this.age === 18}})
⚠️注意:投影:过滤掉不要的数据,只保留想要展示的数据
举个🌰:
1.db.students.find({},{id:0,name:0}) 过滤掉id和name
2.db.students.find({},{age:1}) 只保留 age
3.db.集合名.findOne(查询条件,[投影]) 默认只要找到一个
三、-U upadte
db.集合名.update(查询条件,要更新的内容[配置对象])
1.要更新的内容替换掉整个文档对象,但是_id不受影响
举个🌰:db.students.update({name:‘zhang san’},{age:19}) (除了age,其他都会变空白)
2.使用$set修改指定内容,其他数据不变,不过只能匹配一项
举个🌰:db.students.update({name:‘zhang san’,{$set:{age:19}})
3.修改多个文档对象,匹配多个zhangsan,把所有的zhangsan的年龄都替换为19
举个🌰:db.students.update({name:‘zhangsan’},{$set:{age:19},{mult:true})
注意⚠️:
1.db.集合名.updateOne(‘查询条件’,‘要更新的内容’,‘[{配置对象}]’)
2.db.集合名.updateMany(‘查询条件’,‘要更新的内容’,‘[{配置对象}]’)
三、-D delete
db.集合名.remove(查询条件)
举个🌰:删除所有的年龄小于等于19的学生
db.students.remove({age:{$lte:19}})