MongoDB学习笔记(一)--基础
2014-02-20 14:01
417 查看
Insert
MongoDB在执行插入时,首先会将插入的数据转换成BSON格式。然后MongoDB数据库会对BSON进行解剖,并检查是否存在_id建。
Query
全部查找
返回除了 tags 字段外的所有字段
返回 tags = test 除了 comments 的所有列
返回 id=1 的 title 字段
<, <=, >, >=
大于 $gt、小于 $lt、大于等于 $gte、小于等于 $lte
$all
$all 操作类似$in 操作,但是不同的是,$all 操作要求数组里面的值全部被包含在返回的记录里面。
$exists
$exists 操作检查一个字段是否存在。
$exists:true代表返回存在这个键的值。
$exists:false代表返回不存在这个键的值。
$mod
两句话一样的效果。
$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()
参数说明:
Criteria:用于设置查询条件的对象
Objnew:用于设置更新内容的对象
Upsert:如果记录已经存在,更新它,否则新增一个记录
Multi:如果有多个符合条件的记录,全部更新
注意:默认情况下,只会更新第一个符合条件的记录
save()
如果存在更新它,如果不存在,新增记录。
$inc
增加1,对int等有效。
对一个_id=3 的 user 的年龄进行加 1,两种方法。
$set
把 field 的值设置成 value,当 field 不存在时,增加一个字段,类似 SQL 的 set 操作,value 支持所有类型。
$unset
删除给定的字段 field。
$push
如果 filed 是一个已经存在的数组,那么把 value 追加给 field;
如果 field 原来不存在,那么新增 field 字段,把 value 的值赋给 field;
如果 field 存在,但是不是一个数组,将会出错。
$pushAll
功能同$push,只是这里的 value 是数组,相当于对数组里的每一个值进行$push操作。
$addToSet
如果 filed 是一个已经存在的数组,并且 value 不在其中,那么把 value 加入到数组;
如果 filed 不存在,那么把 value 当成一个数组形式赋给 field;$pop
如果 field 是一个已经存在的非数组类型,那么将会报错。
$pop
删除数组中最后一个元素
删除数组中第一个元素
$pull
如果 field 是一个数组,那么删除符合_value 检索条件的记录;
如果 field 是一个已经存在的非数组,那么会报错。
$pullAll
$rename
重命名指定的字段名称。
转载请注明出处:http://www.cnblogs.com/yydcdut/p/3557414.html
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
相关文章推荐
- MongoDB学习笔记(管理基础)
- MongoDB学习笔记-基础概念
- MongoDB学习笔记(0):NoSQL基础
- MongoDB学习笔记(管理基础)
- 实例学习AJAX-基础1
- JavaScript基础(五) 面向对象编程
- TechNet:台式机、设备和服务器管理 - 从基础到标准化
- 基础 PATH&CLASSPATH
- C++ 基础类型
- 【总结——关于CSS样式表的基础知识】
- jbpm各种触发节点基础
- CSS基础汇总
- objective-c protocols and delegates 基础
- 并行计算机硬件基础
- SAP RFC基础知识
- 广州传智播客0608Java基础班广州笑翻天拓展活动
- JavaSE初学(一)——基础总结
- C语言基础笔试题一
- Android游戏开发基础part8--游戏音乐与音效
- [学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行