美文网首页
mongodb笔记02--基础命令

mongodb笔记02--基础命令

作者: 机智的老刘明同志 | 来源:发表于2018-10-17 00:38 被阅读14次

基础命令(建库建表):

    查看当前的数据库:

        show dbs

    选择库:    

        use databaseName

    查看当前库下的表(collection):

        show tables/collections 

    建库(Mongodb的库是隐式创建,可以use一个不存在的库。然后在该库下创建collection,即可完成建库):

        ①创建collection

            db.createCollection(‘collectionName’)  

        ②隐式创建collection(直接向不存在的collection中插入数据) 

            db.collectionName.insert(document);    

        ③删除collection     

            db.collectionName.drop()        

        ④删除database

            db.dropDatabase();  

基础命令(CURD):

    insert:

        db.collectionName.insert(document);

    delete:

        db.collectionName.remove(查询表达式, 选项);

        db.stu.remove({gender:’m’,true});   删除stu表中gender属性为m的文档,只删除1行。

            ①查询表达式依然是个json对象

            ②查询表达式匹配的行,将被删掉.

            ③如果不写查询表达式,collections中的所有文档将被删掉.

            ④选项指是否只删一行, 默认为false

    update:

        db.collection.update(查询表达式,新值,选项);

        db.news.update({name:'QQ'},{name:'MSN'});   选中news表中,name值为QQ的文档,并把其文档值改为{name:’MSN’},

        注意:这里新文档直接替换了旧文档,而不是修改。文档中的其他列也不见了,改后只有_id和name列了。如果是想修改文档的某列,可以用$set关键字

        db.collectionName.update({name:'QQ'},{$set:{name:’MSN’}})

            $set修改某列的值

            $unset删除某个列

            $rename重命名某个列

            $inc增长某个列

        upsert和mult参数:{upsert:true/false , multi:true/false}

        db.stu.update({name:'wuyong'},{$set:{name:'junshiwuyong'}},{upsert:true}); 如果有name=’wuyong’的文档,将被修改。如果没有,将添加此新文档

        db.news.update({age:21},{$set:{age:22}},{multi:true});  multi:是指修改多行,把news中所有age=21的文档,都修改

    find:

        db.collections.find(查询表达式,{列一:1,列二:1});

            ①db.stu.find()    查询所有文档所有内容

            ②db.stu.find({},{gendre:1})    查询所有文档,的gender属性 (_id属性默认总是查出来)

            ③db.stu.find({},{gender:1, _id:0})    查询所有文档的gender属性,且不查询_id属性

            ④db.stu.find({gender:’male’},{name:1,_id:0});    查询所有gender属性值为male的文档中的name属性

查询表达式:

        1:最简单的查询表达式

            {filed:value}     是指查询field列的值为value的文档

        2: $ne -->  !=

            {field:{$ne:value}}    是指查filed列的值 不等于value的文档

        3: $nin --> not in

        4: $all    

            {field:{$all:[v1,v2..]}}    是指取出field列是一个数组,且至少包含 v1,v2值

        5: $exists

           {field:{$exists:1}}     查询出含有field字段的文档

        6: $nor,

           {$nor,[条件1,条件2]}     是指所有条件都不满足的文档为真返回

        7:用正则表达式查询 以”诺基亚”开头的商品

            例:db.goods.find({goods_name:/诺基亚.*/},{goods_name:1});

        8:用$where表达式来查询

            例:db.goods.find({$where:'this.cat_id != 3 && this.cat_id != 11'});

        注意:用$where查询时, mongodb是把bson结构的二进制数据转换为json结构的对象,然后比较对象的属性是否满足表达式。速度较慢

相关文章

  • mongodb笔记02--基础命令

    基础命令(建库建表): 查看当前的数据库: show dbs 选择库: use databaseName 查看...

  • Mongodb 常用命令汇总 2020-08-14

    [toc] Mongodb 常用命令 基础操作命令 索引命令 数组命令 库和集合命令 循环命令 命令总结

  • MongoDb学习总结

    大纲: 1、MongoDB的体系结构2、MongoDB安装配置与基础命令3、MongoDB CRUD与全文索引4、...

  • Mongodb基础命令

    安装后在控制台输入: mongo启动client。 show dbs显示所有数据库。 use xxx选中数据库为当...

  • MongoDB 基础命令

    下载安装后 1.在 “你自己MongoDB安装目录/bin” 下按Shift+鼠标右键后选择打开PowerShel...

  • Mongodb 基础-命令

    #进入库,并且创建(注意:进入哪个库,就是在哪个库创建用户。重点!重点!重点!)use admin#创建超管db....

  • MongoDB

    MongoDB是最接近mysql的一种nosql默认端口:27017 MongoDB 基础命令 进入mongo:m...

  • MongoDB状态命令

    MongoDB状态监控命令: mongostat命令:mongostat - MongoDB Use Statis...

  • 《澄明之境》--导言02--读书笔记

    title: 《澄明之境》--导言02--读书笔记tags: 陶渊明,戴建业,存在论grammar_cjkRuby...

  • MongoDB基础笔记

    自己看相关视频总结的,笔记粗糙。暂时够用,需要再查官方文档RDBMS:关系型数据库 nosql:非关系型数据库 插...

网友评论

      本文标题:mongodb笔记02--基础命令

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