我想知道它是否会在'$或'语句或一个(键/值)内评估父级,优先级是什么或预期的行为是什么,为什么?
db.collection.find({
parent: '2kzW57uhwthPFNyB9',
access: null,
'$or': [ { owner: 'PBjjLpK9fQi4qyTd4' },
{ parent: { $in: ['2kzW57uhwthPFNyB9', '6we357uhwthPFwerr'] } } ]
})
{
parent: '2kzW57uhwthPFNyB9',//condition1
access: null,//condition2
'$or': [
{
owner: 'PBjjLpK9fQi4qyTd4'//condition 3.0
},
{
parent: {//condition 3.1
$in: [
'2kzW57uhwthPFNyB9',
'6we357uhwthPFwerr'
]
}
}
]
}
在find中指定逗号分隔条件时,为and
条件。
你有我上面提到的4个条件。
它像condition1 AND condition 2 AND (condition 3.0 OR condition 3.1)
一样工作
所以没有优先权。