MongoDB

基本命令行操作

添加数据

db.集合名.insertOne({},{writeConcern:0})

writeConcern:安全级别

        0:不关心是否写成功

        1-n:写操作需要被复制到n个节点才算写成功

        majority:写操作需要被复制到大多数节点才算写成功

db.集合名.insertMany([{},{}],{writeConcern:3,ordered:true})

ordered:是否按顺序写入

        true:顺序写入,一旦遇到错误便退出,剩余文档无法写入

        false:乱序写入,遇到错误不影响其他文档的写入

db.集合名.insert()        支持explain命令

插入时主键可自定义,组件可使用复合主键(对象),对象字段顺序变了属于不同主键


查询数据

db.集合名.find()        查询索引文档

db.集合名.find().pretty()        格式化查询出的文档

db.集合名.find({"a":"abc"})        多条件查询

db.集合名.find({"a.b":"abc"})        嵌套对象查询

db.集合名.find({},{a:1)        返回指定字段,1:返回,0:不返回

db.集合名.find({$and:[{},{}]})        条件查询($and,$not,$or,$nor)

SQLMQL
a != 1{a:{$ne:1}}
a > 1{a:{$gt:1}}
a >= 1{a:{$gte:1}}
a < 1{a:{$lt:1}}
a <= 1{a:{$lte:1}}
in{a:{$in:[x,y,z]}}
not in{a:{$nin:[x,y,z]}}
a is null{a:{$exists:false}}

db.集合名.find().skip(1).limit(1)        skip:跳过几条数据,limit:限制结果几条数据

db.集合名.count()        统计数据

db.集合名.find().sort({a:1}).skip(1).limit(1)        排序,1:正序,2:倒序

(sort,skip,limit顺序不能乱)

db.集合名.find({a:{$slice:1}})        #slice:返回数组部分元素,2:前两条,-2:后两条,[1,2]:跳过第一条,返回前两条,和skip,limit对应

db.集合名.find({a:{$elementMatch:{$eq:"a"}}})        数组元素匹配


更新数据

db.集合名.update( <query>,<update>,<options>)
<query> 定义了更新时的筛选条件
<update> 文档提供了更新内容
<options> 声明了一些更新操作的参数
updateOne/updateMany 方法要求更新条件部分必须具有以下之一,否则将报错
$set 给符合条件的文档新增一个字段,有该字段则修改其值
$unset 给符合条件的文档,删除一个字段
$push: 增加一个对象到数组底部
$pop:从数组底部删除一个对象
$pull:如果匹配指定的值,从数组中删除相应的对象
$pullAll:如果匹配任意的值,从数据中删除相应的对象
$addToSet:如果不存在则增加一个值到数组
$rename 重命名字段
$inc 加减字段值
$mul 相乘字段值
$min 采用最小值
$max 次用最大值

删除数据

db.集合名.remove(<query>,<options>)        默认删除所有
db.集合名.drop( { writeConcern:<doc>})        删除集合

聚合操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值