开发者社区> 问答> 正文

mongodb通过多个数组项查找

如果我有这样的记录;

{ "text": "text goes here", "words": ["text", "goes", "here"] } 如何在MongoDB中匹配多个单词?当匹配一个单词时,我可以做到;

db.find({ words: "text" }) 但是当我尝试多个单词时,它不起作用。

db.find({ words: ["text", "here"] }) 我猜想通过使用数组,它会尝试将整个数组与记录中的数组进行匹配,而不是匹配单个内容。

展开
收起
保持可爱mmm 2020-02-08 13:05:39 412 0
1 条回答
写回答
取消 提交回答
  • 取决于您是否要使用以下命令查找words同时包含两个元素(text和here)的文档$all:

    db.things.find({ words: { $all: ["text", "here"] }}); 或其中一个(text或here)使用$in:

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

    2020-02-08 13:15:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载