mongodb笔记02--基础命令

基础命令(建库建表):

    查看当前的数据库:

        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--基础命令)