首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongooseJS -带过滤器和排序的区分

MongooseJS -带过滤器和排序的区分
EN

Stack Overflow用户
提问于 2018-02-09 07:14:57
回答 2查看 2.2K关注 0票数 1

我有一个地址列表,我想得到一个州的城市名单。一张清晰的城市清单。按州划分。

代码语言:javascript
复制
Locations.find( {'address.state':state}, {_id:1,'address':1,'name':1}, callback );

给我一个完整的列表,按一个特定的状态。

代码语言:javascript
复制
Locations.distinct( 'address.city',{'address.state':state},{$sort:{'address.city':1}}, callback );

这也不起作用。

代码语言:javascript
复制
Locations.distinct( 'address.city',{'address.state':state} ).sort().exec(callback);

这似乎给了我一个城市的列表,但它没有排序,alphabetically...So --我很难检查我的数据。

搜索我得到的信息,

代码语言:javascript
复制
"Atmore",
"Daleville",
"Abbeville",
"Bessemer",
"Alberta",
"Huntsville",
"Addison",
"Albertville",
"Helena",
"Alexandria",
...

帮忙-干杯。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-09 15:32:31

因此,mongdb不同的函数返回一个不同值的数组,因此在您的情况下不能链接任何类似排序的其他操作。

与find返回游标一样,您可以应用排序来对返回的数据进行排序。

对于带有排序的非不同结果,可以使用

代码语言:javascript
复制
Locations.find( {'address.state':state}, {_id:1,'address':1,'name':1}).sort({'address.city':1}).exec(callback);

对于不同的和排序,您必须使用聚合。

代码语言:javascript
复制
Locations.aggregate( [{$match:{'address.state':state}},{$group:{_id:'$address.city'}},{$sort:{_id:1}}).exec(callback);
票数 3
EN

Stack Overflow用户

发布于 2018-02-09 11:10:36

根据猫鼬5.0.4版的排序文档,我引用:

可以通知它,实际上它是一个猫鼬restriction.In MongoDB3.6文档的不同的排序,没有引用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48700548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档