如何按一个字段查询并获取猫鼬中的特定字段?
Posted
技术标签:
【中文标题】如何按一个字段查询并获取猫鼬中的特定字段?【英文标题】:How to query by one field and get specific field in mongoose? 【发布时间】:2017-09-30 18:40:44 【问题描述】:我有一个集合如下,
我想获取特定国家/地区的城市。查询应该是什么?
这是我尝试过的。
db.getCollection('_event').find([
$match: ,
$project:
cities:
$filter:
input: 'city',
as: 'r',
cond: $eq: ['$$r.country', 'Portugal']
])
【问题讨论】:
Mongoose, Select a specific field with find的可能重复 图片在帖子中很有用,但确保帖子在没有它们的情况下仍然清晰。无需显示数据格式的屏幕截图,而是直接将实际数据复制并粘贴到帖子中。 cfmeta.***.com/questions/303812/… 【参考方案1】:请按如下方式使用
db.getCollection('_event').find(
'location.country':'Portugal','location.city':1
)
【讨论】:
【参考方案2】:您尝试的方式是使用 Aggregation 实现的 Pipeline 方式(用于修改使用聚合)
db.getCollection('_event').aggregation([
$match: ,
$project:
cities:
$filter:
input: 'city',
as: 'r',
cond: $eq: ['$$r.country', 'Portugal']
])
或以简单的方式(获取整个模型):-
1 db.getCollection('_event').find("location.country":"Portugal")
2 db.getCollection('_event').find("location.country":\Portugal\)
第二个和葡萄牙一样
谢谢。
【讨论】:
以上是关于如何按一个字段查询并获取猫鼬中的特定字段?的主要内容,如果未能解决你的问题,请参考以下文章