gpt4 book ai didi

performance - 按值查询更快

转载 作者:可可西里 更新时间:2023-11-01 10:42:32 26 4
gpt4 key购买 nike

我想查询 MongoDB 以查找在 results 顶级文档中,有多少嵌套文档具有值 0

例如,在这个集合中:

{name: "mary", results: {"foo" : 0, "bar" : 8}}
{name: "bob", results: {"baz" : 9, "qux" : 0}}
{name: "leia", results: {"foo" : 9, "norf" : 5}}

我的查询应该返回 2,因为其中两个文档有 0 作为 results 的嵌套文档的值。

这是我的尝试

db.collection.find({$where : function() { 
for (var key in this.results) {
if (this.results[key] === 0) { return true;} } return false; } })

适用于上述数据集,但速度太慢。我的真实数据是 100k 个文档,每个文档在 results 中有 500 个嵌套文档,上面的查询需要几分钟。是否有可能以更快的方式设计此查询?

最佳答案

没有办法做到这一点,除了你正在做的。

您只能更改架构或使用聚合,但我认为这不是您想要的。

有一篇关于它的帖子你可以在这里查看: mongoDB: find by embedded value

关于performance - 按值查询更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35238479/

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