gpt4 book ai didi

javascript - 在meteorjs中过滤嵌套文档

转载 作者:行者123 更新时间:2023-12-03 07:39:03 24 4
gpt4 key购买 nike

我在尝试在 Meteor 中过滤嵌套文档时遇到了一些麻烦,并且我不想使用 MongoDB 聚合来展开我的文档。

我的用户文档的示例

{
Publications:[{
type:1
},{
type:2
}]
}

当我进行查找仅获取类型 1 时,我得到了预期的结果 - 它们仅返回具有类型 1 发布的用户文档,但它们也返回类型 2 的发布,因为它们位于发布中该用户的数组。

我可以在结果中创建一个循环,以便在发布之前手动删除这些出版物,但我认为这不是正确的方法。

有人可以帮助指导我找到更好的解决方案吗?

Edited

肖恩的回答很好,但还不是正确的,投影在 meteor 上不起作用。这适用于 robomongo,但在项目中仍然返回用户的 2 种出版物类型。

最佳答案

尝试一下这个查询。

Meteor.users.find(
{ 'Publications.type': 1 },
{ fields: { 'Publications.$': 1 } }
);

这应该找到具有类型 1 出版物的用户,并且仅在输出中包含那些匹配的出版物。您也可以将其他字段包含在输出中,方法是将它们包含在 projection parameter 中。 (例如,{ 'Publications.$': 1, profile: 1 })。

有一点需要注意。我认为使用 { 'Publications.$': 1 } 投影的查询只能在服务器端完成。客户端使用的minimongo实现不支持。

有关 $ 投影的更多信息可以找到 here .

关于javascript - 在meteorjs中过滤嵌套文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35488120/

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