gpt4 book ai didi

node.js - 为什么 mongo 不返回所有字段?

转载 作者:太空宇宙 更新时间:2023-11-03 22:51:23 27 4
gpt4 key购买 nike

我有一个包含位置和名称作为字段的集合。

我为 Mongoose 名称创建了索引,如下所示,

eventSchema.index({name: 'text'});

当我在 robomongo 上运行它时,它返回所有 12 个字段,

db.getCollection('_event').find({"location.country":"United States"})

但是当我在 robomongo 上运行它时,它仅返回包含两个字段的值:id 和 location,

db.getCollection('_event').find({$text: {$search: "2017 Honda"}},{"location.country":"United States"})

最佳答案

这是因为您放错了其他查询表达式,您将其指定为投影,因此您将获得包含两个字段的投影:

db.getCollection('_event').find(
{$text: {$search: "2017 Honda"}}, // <-- query part
{"location.country":"United States"} // <-- projection part
)

您需要将其移动到查询对象中,如下所示:

db.getCollection("_event").find(
{
"$text": { "$search": "2017 Honda" },
"location.country": "United States"
}
)

这是一个隐式 $and 表达式,也可以显式指定为

db.getCollection("_event").find(
{
"$and": [
{ "$text": { "$search": "2017 Honda" } },
{ "location.country": "United States" }
]
}
)

关于node.js - 为什么 mongo 不返回所有字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42313866/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com