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

MongoDB学习笔记(一)--基础

2014-02-20 14:01 417 查看
Insert

MongoDB在执行插入时,首先会将插入的数据转换成BSON格式。然后MongoDB数据库会对BSON进行解剖,并检查是否存在_id建。

>doc = {
"_id" : 1,
"author" : "yyd",
"title" : "MongoDB Test",
"text" : "this is a test",
"tags" : [
"love",
"test"
],
"comments" : [
{
"author" : "yyd_guest",
"comment" : "yes"
},
{
"author" : "yyd_admin",
"comment" : "no"
}
]
}

> db.yyd.insert(doc);


Query

全部查找





返回除了 tags 字段外的所有字段





返回 tags = test 除了 comments 的所有列





返回 id=1 的 title 字段





<, <=, >, >=





大于 $gt、小于 $lt、大于等于 $gte、小于等于 $lte

$all

$all 操作类似$in 操作,但是不同的是,$all 操作要求数组里面的值全部被包含在返回的记录里面。





$exists

$exists 操作检查一个字段是否存在。





$exists:true代表返回存在这个键的值。

$exists:false代表返回不存在这个键的值。

$mod

> db.user.find("this._id%2==1");
> db.user.find({_id:{$mod:[2,1]}});


两句话一样的效果。

$ne

$ne 意思是 not equal,不等于。





$in

$in 操作类似于传统关系数据库中的 IN。





$nin

$nin 跟$in 操作相反。

$or





$nor

$nor 跟$or 相反。

$size

$size 操作将会查询数组长度等于输入参数的数组。





skip

跳过前 2 条记录。





limit

每页返回 3 条记录





sort()

sort()方法对返回记录集按照指定字段进行排序返回,1 表示升序,-1 表示降序。





count()

count()方法返回查询记录的总数目。





Remove





Update

update()

db.collection.update( criteria, objNew, upsert, multi )


参数说明:

Criteria:用于设置查询条件的对象

Objnew:用于设置更新内容的对象

Upsert:如果记录已经存在,更新它,否则新增一个记录

Multi:如果有多个符合条件的记录,全部更新

注意:默认情况下,只会更新第一个符合条件的记录

save()

如果存在更新它,如果不存在,新增记录。





$inc

增加1,对int等有效。

对一个_id=3 的 user 的年龄进行加 1,两种方法。









$set

{ $set : { field : value } }


把 field 的值设置成 value,当 field 不存在时,增加一个字段,类似 SQL 的 set 操作,value 支持所有类型。

$unset

{ $unset : { field : 1} }


删除给定的字段 field。

$push

{ $push : { field : value } }


如果 filed 是一个已经存在的数组,那么把 value 追加给 field;

如果 field 原来不存在,那么新增 field 字段,把 value 的值赋给 field;

如果 field 存在,但是不是一个数组,将会出错。

$pushAll

{ $pushAll : { field : value_array } }


功能同$push,只是这里的 value 是数组,相当于对数组里的每一个值进行$push操作。

$addToSet

{ $addToSet : { field : value } }


如果 filed 是一个已经存在的数组,并且 value 不在其中,那么把 value 加入到数组;

如果 filed 不存在,那么把 value 当成一个数组形式赋给 field;$pop

如果 field 是一个已经存在的非数组类型,那么将会报错。

$pop

{ $pop : { field : 1 } }


删除数组中最后一个元素

{ $pop : { field : -1 } }


删除数组中第一个元素

$pull

{ $pull : { field : _value } }


如果 field 是一个数组,那么删除符合_value 检索条件的记录;

如果 field 是一个已经存在的非数组,那么会报错。

$pullAll

{ $pullAll : { field : value_array } }


$rename

{ $rename : { old_field_name : new_field_name }


重命名指定的字段名称。

转载请注明出处:http://www.cnblogs.com/yydcdut/p/3557414.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: