gpt4 book ai didi

mongodb - $in 跨越 MongoDB 中的多个列

转载 作者:可可西里 更新时间:2023-11-01 09:57:36 27 4
gpt4 key购买 nike

我有一个包含以下数据的集合

_id name    type
1 Banana Fruit
2 Tomato Vegetable
3 Carrot Vegetable
4 Tomato Fruit

我的查询输入是一对数组

[
{
name : 'Banana',
type : 'Fruit'
},
{
name : 'Tomato',
type : 'Vegetable'
}
]

我想要的结果是匹配数组中任意对的文档

_id name    type
1 Banana Fruit
2 Tomato Vegetable

我试过了

db.data.find({$and: [
{name : {$in : ['Banana', 'Tomato']}},
{type : {$in : ['Fruit', 'Vegetable']}}
]})

但是我明白了

_id name    type
1 Banana Fruit
2 Tomato Vegetable
4 Tomato Fruit

这不是我想要的

最佳答案

下面的查询可以得到我们预期的输出:

db.collection.find(
{
$or:[
{
name : 'Banana',
type : 'Fruit'
},
{
name : 'Tomato',
type : 'Vegetable'
}
]
}
).pretty()

数据集:

{ "_id" : 1, "name" : "Banana", "type" : "Fruit" }
{ "_id" : 2, "name" : "Tomato", "type" : "Vegetable" }
{ "_id" : 3, "name" : "Carrot", "type" : "Vegetable" }
{ "_id" : 4, "name" : "Tomato", "type" : "Fruit" }

输出:

{ "_id" : 1, "name" : "Banana", "type" : "Fruit" }
{ "_id" : 2, "name" : "Tomato", "type" : "Vegetable" }

关于mongodb - $in 跨越 MongoDB 中的多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57803712/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com