Javascript mongodb查询:使用字段上的筛选器获取N个结果
我使用mongodb,我试图提出请求,但我需要帮助。我需要查询我的用户集合,其中包含一个字段“country” 例如:Javascript mongodb查询:使用字段上的筛选器获取N个结果,javascript,mongodb,mongodb-query,Javascript,Mongodb,Mongodb Query,我使用mongodb,我试图提出请求,但我需要帮助。我需要查询我的用户集合,其中包含一个字段“country” 例如: { "name" : "John", "country" : "FR" } 例如,我想从法国获得30个用户。 如果数据库中有30个或更多来自法国的用户,则可以返回30个来自法国的用户。 如果只有12个用户(少于30个)来自法国,我想得到这12个用户和18个其他用户(30个),不管是哪个国家 我想知道是否可以使用一个经典请求,或者我必须使用MapReduce,我
{
"name" : "John",
"country" : "FR"
}
例如,我想从法国获得30个用户。
如果数据库中有30个或更多来自法国的用户,则可以返回30个来自法国的用户。
如果只有12个用户(少于30个)来自法国,我想得到这12个用户和18个其他用户(30个),不管是哪个国家
我想知道是否可以使用一个经典请求,或者我必须使用MapReduce,我相信你不能在一个查询中完成这项工作
- 获取带有
国家/地区:“FR”
- 如果该数字大于或等于30,则使用该方法获得正好30个文档。如果该数字小于30,则获取
所在的所有文档,并使用和方法使用另一个查询扩展结果,其中country:'Fr'
不等于country
Fr
var count=db.collection.count({“country”:“FR”}); var结果=[]; 如果(计数>=30){ result=db.collection.find({“country”:“FR”}).limit(30.toArray(); } 如果(计数<30){ result=db.collection.find({“country”:“FR”}).toArray(); result.push.apply(result,db.collection.find({“country”:{“$ne”:“FR”}}).limit(30 count.toArray()); }
- 获取带有
国家/地区:“FR”
- 如果该数字大于或等于30,则使用该方法获得正好30个文档。如果该数字小于30,则获取
所在的所有文档,并使用和方法使用另一个查询扩展结果,其中country:'Fr'
不等于country
Fr
var count=db.collection.count({“country”:“FR”}); var结果=[]; 如果(计数>=30){ result=db.collection.find({“country”:“FR”}).limit(30.toArray(); } 如果(计数<30){ result=db.collection.find({“country”:“FR”}).toArray(); result.push.apply(result,db.collection.find({“country”:{“$ne”:“FR”}}).limit(30 count.toArray()); }
var count = db.collection.count({ "country": "FR" });
var result = [];
if (count >= 30) {
result = db.collection.find({ "country": "FR" }).limit(30).toArray();
}
if (count < 30 ) {
result = db.collection.find({ "country": "FR" }).toArray();
result.push.apply(result, db.collection.find({ "country": { "$ne": "FR" }}).limit(30-count).toArray());
}