mongodb多个条件查询in,日期查询,嵌套查询,统计集合总数等常用实例
1. 多个条件查询in
db.inventory.find( { qty: { $in: [ 5, 15 ] } } )
2. 日期查询
db.books.find({"time":{"$gt":ISODate("2019-06-29T00:00:00Z")}},{"time":1}) 查询时间大于6-29,结果显示一列
db.getCollection('books').find({"pubtime" : {"$gte" : ISODate("2019-07-04T00:00:00.000Z"), "$lt":ISODate("2019-07-05T00:00:00.000Z")}}).count()
3. 嵌套查询
{ "series" : { "cat" : "BSNI2019" } } db.getCollection('t_books').aggregate([ {$match: {"series.cat": "BSNI2019"}}, ]) db.getCollection('t_books').aggregate([ {$match: {"series": {$elemMatch : {"cat": 'BSNI2019'}}}}, ])
4. 统计集合总数
db.getCollection('t_books').aggregate( [ { $group: { _id: null, myCount: { $sum: 1 } } }, { $project: { _id: 0 ,myCount : 1} } ] )
_id字段是必填的;但是,可以指定_id值为null来为整个输入文档计算累计值。
$sum: 1表示累加1,如果为n,则每次累加n
5. mongodb语法
5.1 $project
在 MongoDB 中可以使用 "$project" 来控制数据列的显示规则,可以执行的规则如下: 普通列({成员:1 | true}):表示要显示的内容 "_id" 列({"_id":0 | false}):表示 "_id" 列是否显示 条件过滤列({成员:表达式}):满足表达式之后的数据可以进行显示
参考