mongo CRUD数据操作符汇总
来源:互联网 发布:naturade代餐奶昔 知乎 编辑:程序博客网 时间:2024/05/21 12:45
比较
逻辑
元素
数组
备注
》
$where
db.myCollection.find( { $where: "this.credits == this.debits" } );db.myCollection.find( { $where: "obj.credits == obj.debits" } );db.myCollection.find( { $where: function() { return (this.credits == this.debits) } } );db.myCollection.find( { $where: function() { return obj.credits == obj.debits; } } );
where接受字符串函数两种形式的参数,其中也提供了一些函数。
assert()BinData()DBPointer()DBRef()doassert()emit()gc()HexData()hex_md5()isNumber()isObject()ISODate()isString()Map()MD5()NumberInt()NumberLong()ObjectId()print()printjson()printjsononeline()sleep()Timestamp()tojson()tojsononeline()tojsonObject()UUID()version()
注意:
因为用了$where后mongo生成的执行计划不能很好的利用索引,所以这里不建议大家使用$where
$all
选择满足条件的所有数据(documents)。
{ <field>: { $all: [ <value1> , <value2> ... ] } }
$all的功能是和$and的功能相同的,例如$and:
{ $and: [ { tags: "ssl" }, { tags: "security" } ] }
$and
{ $and: [ { tags: "ssl" }, { tags: "security" } ] }
$batchSize
db.inventory.find().batchSize(10)
控制返回结果的数据数量(多少条数据),注意,在mongo shell里,batchSize()的设置并不会生效。同时distinct()也不会生效
$box
db.places.find( { loc: { $geoWithin: { $box: [ [ 0, 0 ], [ 100, 100 ] ] } }} )
定义一个"盒子",2个点可以确定一个"盒子的位置"(我们把盒子理解为二维平面的矩形),那么上面这句话的意思就是找出在这个"盒子内的点",[22,22],[13,75],[19,24]这些值都将被返回
$center
db.places.find( { loc: { $geoWithin: { $center: [ [-74, 40.74], 10 ] } } })
返回所有在这个平面圆里的点(圆心坐标是(-74,40.74),圆半径是10)
$comment
db.collection.find( { $query: { <query> }, $comment: <comment> } )
可以理解为为每一次执行加入一条备注,这些备注会被记录在profile里,有助于后期排错
$count
db.collection.find( { a: 5, b: 5 } ).count()
计数
$distinct
db.collection.distinct(field, query)
去重
$elemMatch
{ <field>: { $elemMatch: { <query1>, <query2>, ... } } } { _id: 1, results: [ 82, 85, 88 ] } { _id: 2, results: [ 75, 88, 89 ] } db.scores.find( { results: { $elemMatch: { $gte: 80, $lt: 85 } } } )
满足一区间
$exists
{ field: { $exists: <boolean> } } db.records.find( { a: { $exists: true } } ) result: { a: 5, b: 5, c: null } { a: 3, b: null, c: 8 } { a: null, b: 3, c: 9 } { a: 1, b: 2, c: 3 } { a: 2, c: 5 } { a: 3, b: 2 } { a: 4 } db.records.find( { b: { $exists: false } } ) result: { a: 2, c: 5 } { a: 4 } { c: 6 }
$find
query.find({ name: 'Los Pollos Hermanos' }).find(callback)
查找所有满足条件的数据
$findOne
query.findOne({ name: 'Los Pollos Hermanos' }).find(callback)
返回一个满足条件的数据
$findAndModify
{ findAndModify: <collection-name>, query: <document>, sort: <document>, remove: <boolean>, update: <document>, new: <boolean>, fields: <document>, upsert: <boolean> }
db.people.findAndModify( { findAndModify: "people", query: { name: "Gus", state: "active", rating: 100 }, sort: { rating: 1 }, update: { $inc: { score: 1 } }, upsert: true, new : true} );
1 1
- mongo CRUD数据操作符汇总
- mongo 的crud操作&&mongo的数据聚合
- Mongo常用操作汇总
- java实现mongo数据库的CRUD操作
- Mongo数据操作
- ElasticSearch2:操作数据CRUD
- MongoDB文档翻译-CRUD操作-在mongo Shell中迭代游标
- Spring注解配置Mongo及基本CRUD操作简介
- 三、Mongo中的CRUD
- Kohana数据操作CRUD之查询
- mongo操作
- Mongo操作
- mongo操作
- crud操作
- mongo查询方法汇总
- mongo查询方法汇总
- Spring+Mongo混合自定义CRUD功能
- 自制搜索(elasticsearch安装,mongo-connector同步数据,python操作)
- WordCount运行详解
- ASP.NET页面揭秘之页面生命周期
- PHP检测URL是否被百度收录
- Andorid开发之使用Spinner控件
- java序列化
- mongo CRUD数据操作符汇总
- C#中各种计时器 Stopwatch、TimeSpan
- 数据挖掘相关数据集来源整理
- javascript对密码进行SHA1加密
- Android平台程序崩溃的类型及原因
- T-SQL查询进阶--深入理解子查询
- springMVC入门(四) Kaptcha 实现验证码功能
- UVa 225 Golygons
- linux cpio解压initrd.img