MongoDB数据库更新和删除文档

创建集合 

createCollection()

<span style="font-size:14px;">name:创建的集合名称
options:是一个作为初始化的文档(可选)</span>

<span style="font-size:14px;">> db.createCollection("jingdong")            #无参数
{ "ok" : 1 }
> show collections
jingdong
system.indexes
> db.createCollection("jingdong", { capped : 1, autoIndexID : 1, size : 6142800, max : 10000 } )            #带参数
{ "ok ": 1 }</span>

capped:类型为Boolean,如果为ture则创建一个固定大小的集合,当其条目达到最大时可以自动覆盖以前的条目。在设置其为ture时也要指定参数大小;
autoIndexID:类型为Boolean,默认为false,如果设置为ture,则会在_id field.s上自动创建索引;
size:如果capped为ture需要指定,指定参数的最大值,单位为byte;
max:指定最大的文档数。 在mogodb中也可以不用创建集合,因为在创建文档的时候也会自动的创建集合

删除集合 

db.COLLECTION.drop()

<span style="font-size:14px;">> use JD
switched to db JD
> show collections
jingdong
jingdong1
system.indexes
> db.jingdong.drop()
ture
> show collections
jingdong1
system.indexes</span>

插入文档 

db.COLLECTION_NAME.insert(document)


</pre><pre name="code" class="python"><span style="font-size:14px;">> userdoc1=({"user_id":1,"name":"cloud","state":"active","actor":"user","e-mail":" [email protected]","VM_num":2,"time":[{"date":"2014-08-12","hour":"10:53 PM"}] })        
> userdoc2=({"user_id":2,"name":"testadmin","state":"active","actor":"admin","e-mail":" [email protected]","VM_num":2,"time":[{"date":"2014-08-11","hour":"06:34 AM"}] })    
> doc=({"name":"peter","position":"teacher"})        #先定义文档
> use JD
switched to db JD
> db.jingdong.insert(userdoc1)
WriteResult({"nInserted":1})
> db.jingdong.insert(userdoc2)
WriteResult({"nInserted":1})
> db.jingdong.insert(doc1)
WriteResult({"nInserted":1})</span>

更新文档

 db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATED_DATA)

<span style="font-size:14px;">#将user_id=2的文档的e-mail改为[email protected]         
> db.jingdong.update({"user_id":"02","e-mail":"[email protected]"},{$set:{"e-mail":"[email protected]"}})
#第一个大括号内容标示查找条件,第二个大括号内容则表示更新后的数据
WriteResult({"nMatched":1,"nUpserted":1,"nModified":1})
> db.jingdong.find()</span>

<pre name="code" class="python"><span style="font-size:14px;">默认的update函数只对一个文档更新,如果想作用所有文档,则需要加入multi:ture</span>

<span style="font-size:14px;">db.shiyanlou.update({"e-mail":"[email protected]"},{$set:{"e-mail":"[email protected]"}},{multi:ture})</span>

替换已存在的文档 

db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})


<span style="font-size:14px;">> db.shiyanlou.save({"_id":ObjectId("53ea174ccb4c62646d9544f4","name":"Bob","position":"techer")})
WriteResult({"nMatched":1,"nUpserted":1,"nModified":1})</span>

删除文档 

db.COLLECTION_NAME.remove(DELECTION_CRITERIA)

<span style="font-size:14px;">> db.shiyanlou.remove({"name":"Bob"})
WriteResult({"nRemoved":1})</span>

之后可以使用find()查看所有的文档,验证使得删除成功。

createCollection():创建集合

db.COLLECTION.drop():删除集合

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

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

db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA}):替换已存在的文档

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



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。