,,,, MongoDB shell的操作数据,用到创建、读取、更新、删除操作。
1,创建
,,,,插入函数用于创建一个文档到集合里面。
,,,,例,创建局部变量,内容是代表文档的JavaScript对象,里面会有标题,内容和日期几个键。
比;帖子={“标题”:“我的博客”,
…“内容”:“这是我的博客”,
…“日期”:新的日期()}{
,,,,“标题”:“我的博客”,
,,,,“内容”:“这是我的博客”,
,,,,“日期”:ISODate(2015 - 02 - 02年t05:04:55.861z)
}
比;db
测试,,,,使用插入方法保存到集合博客中,注意,这时博客并不存在。
比;db.blog.insert (post)
WriteResult ({“nInserted”: 1})
2,读取
,,,,发现()函数会读取集合中的所有文档:
比;db.blog.find ();
{" _id ": ObjectId (“54 cf05c00eb7b5f5718da826”),“标题”:“我的博客”,”孔蒂
nt”:“这是我的博客”,“日期”:ISODate(2015 - 02 - 02年t05:04:55.861z)}
,,,,若是只想查看一个文档,使用findOne ()
比;db.blog.findone ();
2015 - 02年- 02 - t13:10:15.365 + 0800 TypeError:属性的findone对象测试。博客我
不是一个函数
比;db.blog.findOne ();
{
,,,," _id ": ObjectId (" 54 cf05c00eb7b5f5718da826 "),
,,,,“标题”:“我的博客”,
,,,,“内容”:“这是我的博客”,
,,,,“日期”:ISODate(2015 - 02 - 02年t05:04:55.861z)
}
3,更新
3.1,,,,更新接受至少两个参数:一是更新文档的限定条件,二是新的文档。假设决定给先前写的文章增加评论内容,则需要增加一个新的键,对应的值是存放评论的数组:
修改变量,增加“评论”键:
比;post.comments=[]; []
执行更新
比;db.blog。更新({“标题”:“我的博客”},Post)
WriteResult ({“nMatched”: 1、“nUpserted”: 0,“nModified”: 1})
比;db.blog.find ();
{" _id ": ObjectId (“54 cf05c00eb7b5f5718da826”),“标题”:“我的博客”,”孔蒂
nt”:“这是我的博客”,“日期”:ISODate(“2015 - 02 - 02年t05:04:55.861z”),“通讯”
树人:[]}
比;db.blog.findOne ();
{
,,,," _id ": ObjectId (" 54 cf05c00eb7b5f5718da826 "),
,,,,“标题”:“我的博客”,
,,,,“内容”:“这是我的博客”,
,,,,“日期”:ISODate(2015 - 02 - 02年t05:04:55.861z),
,,,,“评论”:[]
}
3.2使用修改器(“美元公司”修改器)
,,,,通常文档只会有一部分要更新,利用原子的更新修改器,可以使得这种部分更新极为高效。更新修改器是种特殊的键,用来指定复杂的更新操作,比如调整,增加或者删除键,还可能是操作数组或者内嵌文档。
,,,,再看更新一例:
比;db.people.find ();
{" _id ": ObjectId (“54 d08f7f0eb7b5f5718da82a”),“名字”:“乔”,“年龄”:65}
{" _id ": ObjectId (“54 d08fbd0eb7b5f5718da82c”),“名字”:“乔”,“年龄”:49}
比;db.people.update({“年龄”:20}});
WriteResult ({“nMatched”: 1、“nUpserted”: 0,“nModified”: 1})
比;db.people.find ();
{" _id ": ObjectId (“54 d08a1d0eb7b5f5718da828”),“名字”:“乔”,“朋友”:32岁的
“敌人”:2}
{" _id ": ObjectId (“54 d08f7f0eb7b5f5718da82a”),“名字”:“乔”,“年龄”:65}
<强> 强>
{" _id ": ObjectId (“54 d08fbd0eb7b5f5718da82c”),“名字”:“乔”,“年龄”:49}
在
4,删除
,,,,删除用来从数据库中永久性地删除文档,在不适用参数进行调用的情况下,它会删除一个集合内的所有文档,也可以接受一个文档以指定限制条件:
比;db.blog。删除({“标题”:“我的博客”});
WriteResult ({“nRemoved”: 1})
比;db.blog.find ();
在
,,,,删除是永久性的,不能撤销,也不能恢复。
,,,,删除文档通常都很快,但是要清除整个集合,直接删除集合(然后重建索引)会更快。