0
的陣列滿足兩個條件我有一個包含有內對象數組對象的集合:MongoDB的對象中的對象
{
_id: 12345,
data: [
{
state: 1,
type: 3,
info: "abc"
},{
state: 2,
type: 3,
info: "cde"
},{
state: 2,
type: 3,
info: "efg"
}
]
}
我需要從集合中選擇對象{data.state:2,數據。輸入:3},但在運行此查詢的情況下,我會得到含有與狀態對象的對象:2和類型:3,但不是含有狀態的對象:2和類型: 3。
如何在對象數組中的一個對象內匹配兩個條件?如何選擇僅包含狀態的對象:2和類型:3?
P.S.我知道$ elemMatch,但是從上面的示例對象只返回{state:2,type:3,info:「cde」},而我需要所有數據。
P.P.S.下面是一些示例的結果:被檢查
對象:
data: [
{
state: 1,
type: 3
},{
state: 2,
type: 3
},{
state: 2,
type: 3
}
]
是輸出:是(有含有兩種狀態2和類型3 2個對象)
data: [
{
state: 1,
type: 3
},{
state: 2,
type: 4
},{
state: 2,
type: 0
}
]
是輸出:無(沒有包含狀態2 AND類型3的單個對象)
data: [
{
state: 5,
type: 3
},{
state: 1,
type: 3
},{
state: 1,
type: 4
},{
state: 2,
type: 3
}
]
是輸出:是(有一個obj ect包含狀態2 AND類型3)
你可以給一個查詢應該返回的例子嗎? – benjaminjosephw
@benjaminjosephw我已經更新了這個問題。你可以看到Mongo在看什麼對象,什麼時候它應該被包含在結果中。 – Xeos