美文网首页
基本命令

基本命令

作者: 雨棚 | 来源:发表于2017-06-07 13:56 被阅读0次
    展示操作

    mongod --dbpath $path
    开启数据库,--dbpath就是选择数据库文档所在的文件夹,也就是mongdb数据库是有真实存在的文件
    mongo
    开启数据库后,另开cmd,输入mongo操作数据库
    db
    查看当前所在数据库
    show dbs
    列出所有数据库
    show collections
    列出当前数据库的所有集合


    使用操作

    use ${数据库名字}
    使用某个数据库(如果不存在则创建某个数据库)(要实际操作数据库之后数据库才能真正被创建 )
    db.student.insert({...})
    没有创建集合的概念,只要往集合中insert一条数据,集合就会被创建
    示例中,student就是一个集合,集合中存储着多个文档


    修改操作

    db.foo.update({'name':'小明'},{$set:{'age':32}})
    将name为小明的数据的age字段改为32(默认只能更改一条)

    db.foo.update({'name':'小明'},{$set:{'age':32},{multi:true}})
    将所有name为小明的数据的age字段改为32(所有匹配均修改)

    db.foo.update({'name':'小明'},{'name':'小白'})
    完全替换文档


    删除操作

    db.dropDatabase()
    删除当前数据库
    db.foo.drop()
    删除集合foo
    删除所有a字段为1的文档(默认删除所有匹配项)
    db.foo.remove({})
    删除所有文档


    导入操作
    mongoimport --db test --collection restaurant --drop --file primer-dataset.json
    
    --db test --collection restaurant    //选择导入数据库为test,集合为restaurant  
    --drop   //把集合清空
    --file primer-dataset.json  //导入数据为primer-dataset
    

    一般在外部写好数据,再在外部导入文件json中,最外部每一个{}都会被当做一个文档


    查询操作

    db.student.find()
    查看该集合的所有文档

    精确匹配

    db.foo.find({'score.math':884})
    查找foo集合中score对象中math为884的文档(复合对象的情况)
    db.foo.find({'score.math':{$gt:884}})
    查询foo集合中score.math'属性大于884的所有文档
    (小于为$lt)

    逻辑匹配

    db.foo.find({'score.math':884,'age':13})
    多重条件查询(与)
    db.foo.find({$or:[{'age':12},{'age':14}]})
    多重条件查询(或)

    数据排序

    db.foo.find().sort({'score.math':1})
    1为升序,-1为降序
    db.foo.find().sort({'score.math':1,'score.chinese':-1})
    同上,但当math相同时,chinese按降序排

    相关文章

      网友评论

          本文标题:基本命令

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