当前位置:  开发笔记 > 编程语言 > 正文

mongodb通过多个数组项找到

如何解决《mongodb通过多个数组项找到》经验,为你挑选了1个好方法。

如果我有这样的记录;

{
  "text": "text goes here",
  "words": ["text", "goes", "here"]
}

如何在MongoDB中匹配多个单词?匹配单个单词时,我可以这样做;

db.find({ words: "text" })

但是,当我尝试多个单词时,它不起作用;

db.find({ words: ["text", "here"] })

我猜测通过使用数组,它会尝试将整个数组与记录中的数组进行匹配,而不是匹配单个内容.



1> 小智..:

取决于您是否尝试使用以下方法查找words包含两个元素(texthere)的文档$all:

db.things.find({ words: { $all: ["text", "here"] }});

或其中任何一个(texthere)使用$in:

db.things.find({ words: { $in: ["text", "here"] }});


这对我也有帮助,我需要它来查找数组中的对象ID,并且在$ in:[ObjectId("4f9f2c336b810d0cf0000017")]之类的地方失败,$ in:["4f9f2c336b810d0cf0000017"]工作了
推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有