美文网首页
mongodb使用查询

mongodb使用查询

作者: 单只蝴蝶_569d | 来源:发表于2018-09-20 16:31 被阅读0次

    概念解析

    SQL术语 mongo术语 概念
    database database 数据库
    table collection 数据库表集合
    row document 数据记录行
    column field 数据库字段
    index index 索引
    primary key primary key 主键,MongoDB自动将_id字段设置为主键

    数据库连接

    运行"use"命令,可以连接到一个指定的数据库。如果没有数据库则创建新的数据库
    use logs
    switched to db local

    删除数据库

    use logs连接数据logs库
    db.dropDatabase() 删除数据库

    创建集合

    db.createCollection(name, options)
    注意:在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。

    删除集合

    db.collection.drop()

    插入文档

    MongoDB 使用 insert() 或 save() 方法向集合中插入文档

    db.logs.insert({
        title: 'MongoDB 教程', 
        description: 'MongoDB 是一个 Nosql 数据库',
        by: '菜鸟教程',
        url: 'http://www.runoob.com',
        tags: ['mongodb', 'database', 'NoSQL'],
        likes: 100
    })
    

    更新文档

    MongoDB 使用 update() 和 save() 方法来更新集合中的文档。

    db.logs.update(<query>,<update>,{
          upsert: <boolean>,
          multi: <boolean>,
         writeConcern: <document>
    })
    参数说明:
    
    query : update的查询条件,类似sql update查询内where后面的。
    update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
    upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    writeConcern :可选,抛出异常的级别。
    

    例子:
    db.logs.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}}) 仅仅修改一条
    db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true}) 修改多条

    删除文档

    db.colletion.remove(<query>,<justone>)
    例子:
    db.logs.remove({title:"MongoDB 教程"}

    查询文档

    db.collection.find().pretty()
    MongoDB and 条件
    db.col.find({key1:value1, key2:value2}).pretty()
    or条件
    db.col.find({$or:{key1:value1},{key2,valuye2}}).pretty()
    模糊查询
    db.col.find({"content":/测/})
    例子:

    db.logs.find({"likes":{$gt:0},$or:[{"content":/测/},{title:"MongoDB 教程"}]}).pretty().skip(1).limit(2).sort({"likes":1})
    

    条件操作符

    MongoDB中条件操作符有:

    • (>) 大于 - $gt
    • (<) 小于 - $lt
    • (>=) 大于等于 - $gte
    • (<= ) 小于等于 - $lte

    获取"cols"集合中"likes" 大于100
    db.col.find({likes : {$gt : 100}})
    获取"col"集合中 "likes" 大于100,小于 200 的数据
    db.col.find({likes : {$lt :200, $gt : 100}})

    MongoDB Limit与Skip方法

    如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。
    db.col.find().limit(number)
    我们除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。
    db.col.find().limit(number).skip(number)

    相关文章

      网友评论

          本文标题:mongodb使用查询

          本文链接:https://www.haomeiwen.com/subject/nldnnftx.html