首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mongodb查询变量搜索词数量

Mongodb查询变量搜索词数量
EN

Stack Overflow用户
提问于 2019-07-07 12:01:10
回答 2查看 57关注 0票数 2

我正在尝试设计一个基于包含元数据数组的文档的查询。

图书={ title : String,metaData : String }

为了找到所需的图书,我有另一个包含多个元数据术语的搜索字符串数组。数组的长度可以随存在的元数据搜索项的数量而变化。如何查询才能找到包含所有指定元数据搜索词的图书?

示例:

book1 -自然,树木,昆虫,雾,音乐book2 -音乐,艺术,体育

使用音乐、体育的元数据进行搜索将会产生book2。

怎样才能最有效地设计这个查询呢?我可以这样做并避免嵌套查询吗?任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2019-07-07 12:07:41

您可以使用$all运算符来完成此操作。

从文档中:

如果要查找同时包含“

”和“”元素的数组,而不考虑数组中的顺序或其他元素,请使用$all运算符:

db.inventory.find( { tags: { $all: ["red", "blank"] } } )

MongoDB CRUD Operations: Query an array

票数 1
EN

Stack Overflow用户

发布于 2019-07-07 17:28:57

您可以使用$all来获取包含给定元数据字符串的所有文档。

尝试:

代码语言:javascript
运行
复制
let given_metadata_array = ["music", "sports"];

db.book.find({
    metadata : {$all : given_metadata_array}
})

有关详细信息,请阅读有关$all official documentation的更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56919259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档