mongodb(二)
1.查询文档
db.col.find().pretty()
条件
db.col.find({"name":"n", "age":"55"}).pretty()
带有and 和 or的查询
db.col.find({"s": "p", $or: [{"name": "n"},{"age": "22"}]}).pretty()
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
db.col.find({age : {$gt : 100}})
也可以根据类型查询
db.col.find({"name" : {$type : 'string'}})
db.col.find({"name" : {$type : 'string'}}).limit(1).skip(1)
排序
db.col.find({"name" : {$type : 'string'}}).sort({'age':1})
2.聚合
db.col.find().([{$group : {_id : "$name", num : {$sum : '$age'}}}])
$sum 计算总和
$avg 计算平均值
$min 获取集合中所有文档对应值得最小值
$max 获取集合中所有文档对应值得最大值
$push 将值加入一个数组中,不会判断是否有重复的值。
$addToSet 将值加入一个数组中,会判断是否有重复的值,若相同的值在数组中已经存在了,则不加入
$first 根据资源文档的排序获取第一个文档数据
$last 根据资源文档的排序获取最后一个文档数据
$project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
$match:用于过滤数据,只输出符合条件的文档。$match使用MongoDB的标准查询操作。
$limit:用来限制MongoDB聚合管道返回的文档数。
$skip:在聚合管道中跳过指定数量的文档,并返回余下的文档。
$unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
$group:将集合中的文档分组,可用于统计结果。
$sort:将输入文档排序后输出。
$geoNear:输出接近某一地理位置的有序文档。