SequoiaDB基于命令行的CRUD

查询

  1. 等于

db.foo.bar.find({age:23})

  1. 匹配符
 db.foo.bar.find({age: {$gt: 22}})
 
 db.foo.bar.find({$or[{id:1}, {id:2}]})

 db.foo.bar.find({$and[{id:{$gt:0}},  {id:{$lt:2}}]}) // id大于0小于2
 
 db.foo.bar.find({phone:{$exists: 1}) // 找出存在phone字段的所有记录,0:不存在
  1. 嵌套数组匹配

db.foo.bar.find({“phone”: “12312312312”})
数组对象为BSON时
db.foo.bar.find({“family”:{$elematch: {“dad”: tom, “phone”:“12345678901”}}})

  1. 嵌套BSON对象匹配查询

db.foo.bar.find({“name”:{$elematch:{“first”: “tom”}}})
或者
db.foo.bar.find(“name.first”:“tom”)

  1. 第二个参数:指定返回的字段

db.foo.bar.find({}, {name:"", people:""})

  • 如果记录中不包含输入的字段,也会默认返回

更新

  1. $set更新
    db.foo.bar.update({ $set:{name: "Mike"} }, { _id:1 }) // 如果没有name这个字段,会自动增加
    // unset
    db.foo.bar.update({$unset:{age: ""}) // 删除记录中所有的age字段,若没有,则会跳过
    // upsert
    db.foo.bar.upsert({ $set:{name: "Mike"} }, { _id:10 }) // 如果没有id=10这个记录,会自动增加;如果有则更新字段/插入字段

删除

  1. remove()
db.foo.bar.remove() // 删除全部记录
db.foo.bar.remove({id : 1})
  1. truncate():效率更好,但不能做数据过滤
    db.foo.bar.truncate() // 删除全部记录

猜你喜欢

转载自blog.csdn.net/weixin_43837588/article/details/88051105
今日推荐