Home  >  Article  >  Database  >  MongoDB命令使用示例

MongoDB命令使用示例

WBOY
WBOYOriginal
2016-06-07 16:28:091016browse

用图书的示例来说明一下mongodb命令的使用。 添加 插入一个图书文档: db.books.insert({name:深入学习MongoDB}); 然后,可以看一下是否插入成功了: db.books.find(); 打印的结果类似这样: { _id : ObjectId(4f8e8a8e7a919fd8a1a37e2d), name : 深入学习Mo

用图书的示例来说明一下mongodb命令的使用。

添加

插入一个图书文档:

db.books.insert({name:’深入学习MongoDB’});

然后,可以看一下是否插入成功了:

db.books.find();

打印的结果类似这样:

{ “_id” : ObjectId(“4f8e8a8e7a919fd8a1a37e2d”), “name” : “深入学习MongoDB” }

好了,现在不想要这条记录了,删除掉:

db.books.remove();

再次使用find(),就不会打印内容了。这里要注意,remove()将删除集合中所有文档。如何删除指定条件的文档,后面再说。

修改

再次创建一个图书文档:

db.books.insert({name:’钱的历史’,items:[]});

这里我增加了一个空数组,后面有用。

现在我要将图书名称(name)改为:深入学习MongoDB。

命令:

db.books.update({_id:ObjectId(“4f8e8a8e7a919fd8a1a37e2d”)},{name:’深入学习MongoDB’},false);

上述命令的缺点是,items属性没有了。如果只想修改图书的名称,而不影响文档的其他属性,可以这样:

db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″)},{$set:{name:’Deep in MongoDB’}},false);

现在,我想往空数组里添加一些东西,比如,一个条目:

{_id:ObjectId, type:’chapter’,items:[]}

那么,命令如下:

?db.books.update({_id:ObjectId(’4f8ea9a619bc948142e0dad5′)},{$push:{items:{_id:new ObjectId(),type:’chapter’,items:[]}}},false);

看一下显示的结果:

{
“_id” : ObjectId(“4f8ea9a619bc948142e0dad5″),
“items” : [
{
"_id" : ObjectId("4f8eaf227a919fd8a1a37e2e"),
"type" : "chapter",
"items" : [ ]
}
],
“name” : “野外维生食物”
}

现在我们想在4f8eaf227a919fd8a1a37e2e的条目的数组中加入内容,怎么做呢?要用到push,它可以向指定的数组追加元素:

db.books.update({_id:ObjectId(’4f8ea9a619bc948142e0dad5′)},{$push:{items:{_id:new ObjectId(),type:’chapter’,items:[]}}},false);

现在我又发现追加的元素的type值错了,想改成section:

db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″),’items._id’:ObjectId(“4f8ef10b7a919fd8a1a37e32″)},{$set:{‘items.$.type’:'section’}},false);

我是否能在items的元素的items数组中再追加元素呢?答案是肯定的:

db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″),’items._id’:ObjectId(“4f8ef10b7a919fd8a1a37e32″)},{$push:{‘items.$.items’:{_id:new ObjectId(),type:’section’,items:[]}}},false);

追加后的结果类似这样:

{
“_id” : ObjectId(“4f8ea9a619bc948142e0dad5″),
“items” : [
{
"_id" : ObjectId("4f8ef10b7a919fd8a1a37e32"),
"items" : [
{
"_id" : ObjectId("4f8ef4d17a919fd8a1a37e33"),
"type" : "section",
"items" : [ ]
}
],
“type” : “chapter”
}
]
}

删除

如果文档添加了不该有的属性,想删除,比如:

db.books.update({_id:ObjectId(’4f8e8a8e7a919fd8a1a37e2d’)},{$push:{hello:’test1′}},false);

为文档增加了一个没用的属性,he l lo,这是个数组。

删除它:

db.books.update({_id:ObjectId(’4f8e8a8e7a919fd8a1a37e2d’)},{$unset:{hello:1}},false);

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn