MongoDB 随机查询 返回指定个数


用$sample (aggregation)方法,具体命令为:

db.collection.aggregate( [ { $sample: { size: N } } ] ) N为条数

例如返回5条:

> db.test.aggregate( [ { $sample: { size: 5 } } ] )

{ "_id" : ObjectId("5d1c5a7b39ab0f9fbcd647a8"), "id" : 1, "name" : "chenfeng" }

{ "_id" : ObjectId("5d1c733bee9b8d3cbbc26779"), "id" : 89007, "name" : "hello" }

{ "_id" : ObjectId("5d1c7342ee9b8d3cbbc276dc"), "id" : 92946, "name" : "chenfeng" }

{ "_id" : ObjectId("5d1c7240df7032c6c7966207"), "id" : 88223, "name" : "chenfeng" }

{ "_id" : ObjectId("5d1c5b7c39ab0f9fbcd94c62"), "id" : 97819, "name" : "chenfeng" }


返回1条:

> db.test.aggregate( [ { $sample: { size: 1 } } ] )

{ "_id" : ObjectId("5d1c5aec39ab0f9fbcd7b29a"), "id" : 92915, "name" : "chenfeng" }

 

带条件查询:

myresult1=db.aggregate(collection,[{"$match":{"_id.start_time":{"$gte":vstart_time,"$lte":vend_time},"site_address":vsitec,"_id.imsi":{"$ne":data}}},{"$group":{"_id":{"imsi":"$_id.imsi","site_address":"$site_address"},"count":{"$sum":1}}}])


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM