您的位置:首页 > 数据库 > Mongodb

Shell环境下Mongodb的简单crud

2017-04-10 00:00 309 查看
摘要: Shell下Mongodb的增删改查

首先, 连接到mongodb服务器后, Shell环境下 use mongo 切换到数据库mongo.

接下来, 开搞吧!

一. 增: INSERT

新增一个文档, 在shell中, 可以先把要新增的文档对象创建出来

> apple = { "name" : "apple", "color" : "red" }

> db.fruit.insert(apple)

这样,便成功地向fruit集合中插入了一个文档



成功插入后, fruit 集合中便多出来一个文档. 如图:



二. 删 DELETE

当前 math 集合中 存在一个文档, 即 { "_id" : ObjectId("58ea364264c6947a118a843d"), "count" : 25 }

要删除这个文档, 得使用remove() 函数. remove() 函数接受两个参数, 第一个参数表示 要删除的文档对象, 第二个参数表示是否将匹配到的所有文档一并删除, 默认只删除匹配到的第一条.



删除之后再次查询math集合, 便只返回null了.

三. 改 UPDATE

修改文档使用 update() 函数, update()函数接受四个参数, 第一个参数是一个查询, 根据这个参数从集合中查找符合条件的对象, 第二个参数表示修改过后的文档, 第三个参数 upsert, 表示如果按查询匹配到相应的对象, 那么就用第二个参数 新建一个文档, 最后一个参数指明是否全部更新匹配到的文档.

1. 给指定文档新增属性.

使用上面提到的fruit集合, 首先可以先找出要进行更新的文档,

> var apple = db.fruit.findOne({"color" : "red"})

>apple.weight = 100

>db.fruit.update({"color": "red"}, apple, false, false);

现在,重新查询一下:

>db.fruit.findOne({"color":"red"})



2. 修改指定文档的属性值

比如要修改上面的 "_id" 为 ObjectId("58ea536c64c6947a118a843e") 的文档, 将其 color 属性的值改为 "green",

利用上边查询的apple对象, apple.color = "green", 接着 db.fruit.update({"color:red", apple}) 便可以了. 具体如下:



看看修改后的效果:



3. 除此之外,还可以利用各种修改器更新文档的属性, 篇幅有限, 这part下次再写了, 困了....

四. 查 RETRIEVE

上文其实已经提到了查询文档常用的两个方法, findOne() 和 find() , findOne() 函数返回集合中匹配查询条件的第一个文档, find() 函数则返回所有的文档.

下边是find() 函数的 源代码:

function ( query , fields , limit , skip, batchSize, options ){

var cursor = new DBQuery( this._mongo , this._db , this ,

this._fullName , this._massageObject( query ) , fields , limit , skip , batchSize , options || this.getQueryOptions() );

var connObj = this.getMongo();

var readPrefMode = connObj.getReadPrefMode();

if (readPrefMode != null) {

cursor.readPref(readPrefMode, connObj.getReadPrefTagSet());

}

return cursor;

}

由源代码可以看出, find函数功能强大, 更多关于查找文档的内容, 后边将会单独写篇文章来介绍.

这里只做简单介绍, find函数第一个参数表示一个查询条件, 因此你便可以使用 db.fruit.find({"color": "red"}) 来找出fruit集合中所有表示红色苹果的文档.

时候不早,就此歇笔, 晚安.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MongoDB 读书笔记