MongDB最简单的CRUD

                                                                           MongDB最简单的CRUD

插入文档 (CREATE)

在数据库中,数据插入是最基本的操作,在MongoDB使用db.collection.insert(document)语句来插入文档.

 

db.person.insert({name:'du',age:25});

 
 

批量插入文档

insert语句不但可以插入单个文档,还可以一次性插入多个文档。

插入多个文档时,insert命令的参数为一个数组,数组元素为BSON格式的文档。

多个文档可以放在一个数组内,一次插入多条数据,例如:db.users.insert([{name:"tommy"},{name:"xiaoming"}])

 

文档查询 - find方法(READ)

MongoDB中查询检索数据时使用find命令,使用方法如下:

  • 语法:
    1. db.collection.find(criteria,projection);

     

  • 参数:

    criteria – 查询条件,文档类型,可选。

    projection– 返回的字段,文档类型,可选,若需返回所有字段,则忽略此参数。

find命令两个可选参数,criteria为查询条件,projection为返回的字段,如果不传入条件数据库会返回该集合的所有文档。

 
 
 

复合查询 - AND

当查询条件为多个字段时,需要使用多字段复合条件查询,下面我们来学习一下,如何实现多字段复合查询。

在查询条件中指定多个字段条件,检索出所有满足条件的文档数据。

示例:查询inventory集合中type字段为food并且价格低于95的所有文档。

  1. db.inventory.find({$and:[{type: "food"},{ price: { $lt: 95 }}]});
查询person集合中年龄(age)大于30岁,并且名字(name)为"Lucy"的数据
db.person.find({$and:[{age:{$gt:30}},{name:"Lucy"}]});


复合查询 - OR


当有多个查询条件但只需满足其中一个条件就可时,我们就可以使用$or运算符。
$or条件为一个数组类型的值,每个数组元素为一个BSON对象。
在person集合中查一下,状态(status)为"A"或年龄(age)为30的数据
db.person.find({$or:[{status:"A"},{age:30}]});

限制条件 - 结果集


有的时候只需要返回结果集中的部分字段,这个时候我们可以通过传入字段条件的方式来实现。
  • 语法:
    1. db.collection.find( 查询条件,字段条件 )

  • 参数:

    字段条件:JSON对象,格式=>{字段:值},值等于1时表示需要返回,0时表示不需要返回。

  • 示例:返回person的"status"和"age"字段。
    1. db.person.find({}, {status:1,age:1})

 

update命令(UPDATE)

update命令可以更新指定文档的特定字段值,也可以替换整个文档,如果更新操作会增加文档大小,MongoDB将重新分配空间并重新定位。

  • 语法:
    1. db.collection.update(query,update,{upsert:boolean,multi:boolean});
  • 参数:

    query:查询条件,文档,和find中的查询条件写法一致。

    update:修改内容,文档。

    upsert(可选):如果值为true,那么当集合中没有匹配文档时,创建文档。默认false。

    multi(可选):如果值为true,那么将更新全部符合条件的文档,否则仅更新一个文档,默认false。
     
     
    将person集合中所有年龄小于30岁的数据,更新其状态为'X'(提示:小于的操作符是$lt)。
     db.person.update({age:{$lt:30}},{$set:{"status":"X"}},{multi:true});
    
    
    如果想我想要update的数据不存在就自动创建是怎么弄呢?

    db.person.update({x:100},{y:101},true);最后带一个true参数就表示如果要Update的数据不存在就自动create创建一条了。
    
    
    
    

    save命令

    save命令可以更新或插入一个新文档,与update命令不同的是,save只能对一个文档进行操作。
    
    • 语法:
      1. db.collection.save();
    使用save命令将文档{name:"Tony",age:12,gender:"man"}保存到person集合中。
    db.person.save({name:"Tony",age:12,gender:"man"});
    
    
    
    
    
    

    remove命令(DELETE)

    • 语法:
      1. db.collection.remove(
      2. query,
      3. justOne
      4. )

       

    • 参数:

      query:BSON类型,删除文档的条件。

      justOne:布尔类型,true:只删除一个文档,false:默认值,删除所有符合条件的文档。
       
      将users集合中所有status="D"的文档删除操作
      db.person.remove({"status":"D"});
       
       
posted @   公子若不胖天下谁胖  阅读(197)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示