gpt4 book ai didi

javascript - MongoDB 在对象数组中搜索字符串

转载 作者:行者123 更新时间:2023-11-28 18:19:17 25 4
gpt4 key购买 nike

我在 MongoDB 中有一个结构,它在一个名为“items”的数组中包含不同数量的项目。为了进行搜索,我使用以下命令,该命令首先将内容转换为字符串,就像在 this.items 中一样,根据对象的不同,有不同的结构:

db.getCollection('docs').find.('JSON.stringify(this.items[0].value).toLowerCase().indexOf("text")!=-1')

我的问题是,由于我不知道每个文档的项目数量,我必须使用通配符作为 this.items[*].value,但它不起作用。

有人知道任何解决方案,或者对此有其他想法吗?

最佳答案

您可以使用 $elemMatch ( https://docs.mongodb.com/manual/reference/operator/projection/elemMatch/ )

db.docs.find({items: {$elemMatch: {value: {$regex : "text"}}}});

因此,此查询将查找 items 数组中包含 item 且 value 属性中包含字符串“text”的所有文档,执行此操作后,您可以计算文档有多少个项目。

关于javascript - MongoDB 在对象数组中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40218870/

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