如何在查询中编写mongo $ all $

问题描述 投票:0回答:1

请帮助mongodb查询。我需要检查另一个数组中的所有数组项。我需要以下内容 -

db.getCollection('Transactions').find({
    BusinessUnitids: { 
        $all: { $in: [item1, item2, item3] } 
    } 
});
mongodb mongodb-query
1个回答
0
投票

如果您正在寻找唯一值(例如,忽略任何一个数组可以具有重复值,如[1,1,2,3]),那么您可以使用$setEquals

例如:

> db.test.find()
{ "_id": 0, "a": [ 1, 2, 3 ] }

> db.test.aggregate([{$project: {set_equal: {$setEquals: ['$a', [1, 2, 3]]}}}])
{ "_id": 0, "set_equal": true }

> db.test.aggregate([{$project: {set_equal: {$setEquals: ['$a', [1, 2, 3, 4]]}}}])
{ "_id": 0, "set_equal": false }

如果您需要其他设置操作,请参阅Set Operators

请注意,set操作是Aggregation Framework的一部分,而不是常规find()命令的一部分。

© www.soinside.com 2019 - 2024. All rights reserved.