PictorGames Asked: 2020-02-07 09:27:13 +0800 CST 2020-02-07 09:27:13 +0800 CST 2020-02-07 09:27:13 +0800 CST MongoDB 数组查找 772 很好,我这几天一直在寻找能够进行此搜索的信息 搜索由 2 位作者撰写的书籍 我会给你一张截图,说明它是如何存储在我的 MongoDB 中的 我习惯了“作者”是一个数组的想法,必须有一些可能的方式来告诉声明find "author".count() = 2 但是我什么都找不到... 欢迎任何帮助! mongodb 1 Answers Voted Best Answer gugadev 2020-02-07T12:28:44+08:002020-02-07T12:28:44+08:00 您可以使用运算符all来获取包含数组所有元素的文档。 只要有问题的字段具有数组的所有值,就选择文档。 db.collections.books.find({ author: { $all: [ 'author1', 'author2'] } }); 如果您使用mongoose: Book.find({ author: { $all: [ 'author1', 'author2'] } }); 更新 我想让它给我看 2 位作者写的书(作者数组包含 2 条记录) 在这种情况下,您可以添加运算符$size: 该数组包含要匹配的作者 该数组包含作者数量的大小 例子: Book.find({ author: { $all: [ 'author1', 'author2'], $size: 2 } }); 以上翻译为:“查找仅由 X 和 Y 作者撰写的所有书籍”。
您可以使用运算符
all
来获取包含数组所有元素的文档。如果您使用
mongoose
:更新
在这种情况下,您可以添加运算符
$size
:例子:
以上翻译为:“查找仅由 X 和 Y 作者撰写的所有书籍”。