gpt4 book ai didi

MongoDB:如何在不指定数组索引的情况下在任何字段的子文档中查找包含字符串的文档?

转载 作者:可可西里 更新时间:2023-11-01 10:00:31 24 4
gpt4 key购买 nike

我想在任何子文档字段中找到包含单词“school”的所有文档,例如,如果我们有两个文档:

{
name: "aa",
schools: [
{
name: "high school",
description: "aaaa"
},
{
name: "a1",
description: "blabla bla school"
},
...
],
},
{
name: "bb",
schools: [
{
name: "bbb",
description: "First school of ..."
},
{
name: "b school",
description: "bbb bb b",
...
}
],
},

这些文件应与第一所或/和第二所学校的名称或/和描述相符。

我试过这个查询但没有成功:

{
schools: /.*school.*/
}

这也是,通过列出字段:

{
school: [
{ name: /.*school.*/ },
{ description: /.*school.*/ },
...
]
}

他们是执行此操作的方法吗?

最佳答案

如果您需要一个真正的通配符查询,那么@a-h 对文本索引的回答是可行的。但您也可以使用 $or 查询来检查多个字段是否匹配:

db.schools.find({
$or: [
{ 'schools.name': /school/ },
{ 'schools.description': /school/ },
...
]
})

关于MongoDB:如何在不指定数组索引的情况下在任何字段的子文档中查找包含字符串的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35557741/

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