700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > MongoDB 插入 更新 删除

MongoDB 插入 更新 删除

时间:2018-12-06 06:26:29

相关推荐

MongoDB 插入 更新 删除

向 集合 添加新文档

从 集合 里删除文档

更新 现有文档

1. 插入并保存文档

>db.foo.insert({"bar":"baz"})

这个操作会给文档增加一个"_id"键 (如果 原来没有这个键的话),然后保存到MongoDB中

>db.foo.find()

{"_id":ObjectId("4fdc779a89834bfb0bd267a3"),"bar":"baz"}

文档不能超过 4 MB , 可以 用 Object.bsonsize( 文档 ) 查看文档转换为 BSON 的大小 (以 字节 为 单位)

>post={"title":"MyBlogpost","content":"Here'smyblogpost.","date":

...newDate()}

{

"title":"MyBlogpost",

"content":"Here'smyblogpost.",

"date":ISODate("-06-16T12:19:25.163Z")

}

>Object.bsonsize(post)

77

2. 删除文档

db.foo.remove() 会删除foo集合中所有的文档,当不会删除集合本身,原来的索引也会保留。

>db.foo.findOne()

{"_id":ObjectId("4fdc779a89834bfb0bd267a3"),"bar":"baz"}

>showcollections

foo

system.indexes

>db.foo.remove()

>showcollections

foo

system.indexes

>db.foo.find()

>

remove() 函数可以接受 一个查询文档 作为可选 参数, 这样只有符合条件的参数 才被删除。

>post2={"title":"MyBlogpost2","content":"Here'smyblogpost2.","date":

...newDate()}

{

"title":"MyBlogpost2",

"content":"Here'smyblogpost2.",

"date":ISODate("-06-16T12:41:34.429Z")

}

>db.foo.insert(post2)

>db.foo.find()

{"_id":ObjectId("4fdc7e1889834bfb0bd267a4"),"title":"MyBlogpost","conte

nt":"Here'smyblogpost.","date":ISODate("-06-16T12:19:25.163Z")}

{"_id":ObjectId("4fdc7f2689834bfb0bd267a5"),"title":"MyBlogpost2","cont

ent":"Here'smyblogpost2.","date":ISODate("-06-16T12:41:34.429Z")}

>db.foo.remove({"title":"MyBlogpost2"})

>db.foo.find()

{"_id":ObjectId("4fdc7e1889834bfb0bd267a4"),"title":"MyBlogpost","conte

nt":"Here'smyblogpost.","date":ISODate("-06-16T12:19:25.163Z")}

>

remove 删除数据是永久性的,不能撤销,也不能恢复。

另一个 删除命令 db.runCommand({"drop":"foo"}) 。

3. 更新

最简单的方法 用一个新文档 替换原文档。 这种适用于结构变化较大的时候。

>user={"name":"joe",

..."friends":32,

..."enemies":2

...}

{"name":"joe","friends":32,"enemies":2}

>db.user.insert(user)

>db.user.find()

{"_id":ObjectId("4fdc893d89834bfb0bd267a6"),"name":"joe","friends":32,

"enemies":2}

例如:

{

"_id" : ObjectId("4fdc893d89834bfb0bd267a6"),

"name" : "joe" ,

"friends" : 32 ,

"enemies" : 2

}

改变为

{

"_id" : ObjectId("4fdc893d89834bfb0bd267a6"),

"username" : "joe" ,

"relationships" :

{

"friends" : 32 ,

"enemies" : 2

}

}

可以用update来替换文档:

>varjoe=db.user.findOne({"name":"joe"})

>joe.relationships={"friends":joe.friends,"enemies":joe.enemies};

{"friends":32,"enemies":2}

>joe.username=joe.name

joe

>deletejoe.name

true

>deletejoe.friends

true

>deletejoe.enemies

true

>db.user.find()

{"_id":ObjectId("4fdc893d89834bfb0bd267a6"),"name":"joe","friends":32,

"enemies":2}

>db.user.update({"name":"joe"},joe);

>db.user.find()

{"_id":ObjectId("4fdc893d89834bfb0bd267a6"),"relationships":{"friends":

32,"enemies":2},"username":"joe"}

>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。