mongoDB基本操作(二)——(CRUD)

,,,, 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 ();

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

,,,,删除文档通常都很快,但是要清除整个集合,直接删除集合(然后重建索引)会更快。


mongoDB基本操作(二)——(CRUD)