插入文档  语法:db.COLLECTION_NAME.insert(document)

操作实例:

> userdoc1=({"user_id":1,"name":"cloud","state":"active","actor":"user","e-mail":"test@qq.com","VM_num":2,"time":[{"date":"2014-08-12","hour":"10:53 PM"}] })        
> userdoc2=({"user_id":2,"name":"testadmin","state":"active","actor":"admin","e-mail":"test@qq.com","VM_num":2,"time":[{"date":"2014-08-11","hour":"06:34 AM"}] })    
> doc1=({"name":"peter","position":"teacher"})        #先定义文档
> use Chenshi
switched to db Chenshi
> db.shiyanlou.insert(userdoc1)
WriteResult({"nInserted":1})
> db.shiyanlou.insert(userdoc2)
WriteResult({"nInserted":1})
> db.shiyanlou.insert(doc1)
WriteResult({"nInserted":1})

插入文档成功,当然也可以直接将文档的内容作为函数的参数直接替代 document。

 

 

更新文档  语法:db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATED_DATA)

操作实例:

> db.shiyanlou.update({"user_id":2,"e-mail":"test@qq.com"},{$set:{"e-mail":"group@qq.com"}})
WriteResult({"nMatched":1,"nUpserted":1,"nModified":1})
> db.shiyanlou.find()
  • 将 user_id=2 的文档的 e-mail 改为 group@qq.com
  • 第一个大括号内容标示查找条件,第二个大括号内容则表示更新后的数据
  • 默认的 update 函数只对一个文档更新,如果想作用所有文档,则需要加入 multi:true

操作实例:

db.shiyanlou.update({"e-mail":"test@qq.com"},{$set:{"e-mail":"group@qq.com"}},{multi:true})

 

替换文档  语法:db.COLLECTION_NAME.save({id:ObjectId(),NEWDATA})

操作实例:

> db.shiyanlou.save({"_id":ObjectId("53ea174ccb4c62646d9544f4"),"name":"Bob","position":"techer"})
WriteResult({"nMatched":1,"nUpserted":1,"nModified":1})

这里的 _id 对应的是要替换文档的 _id。

跟 insert 差不多,但是 update 更好用。

 

删除文档  语法:db.COLLECTION_NAME.remove(DELECTION_CRITERIA)

操作实例:

> db.shiyanlou.remove({"name":"Bob"})
WriteResult({"nRemoved":1})

其实 remove 函数的参数跟 update 函数的第一个参数一样,相当于查找条件,注意,不要误删!

删除后可以用查找命令确认数据:

> db.shiyanlou.find()