我竭力創造一個發現查詢發現,含有「項目1」的節點目標節點。如何找到包含一個字符串值
{
"_id" : ObjectId("589274f49bd4d562f0a15e07"),
"Value" : [["Item1", {
"Name" : "John",
"Age" : 45
}], ["Item2", {
"Address" : "123 Main St.",
"City" : "Hometown",
"State" : "ZZ"
}]]
}
在這個例子中,「項目1」不是一個鍵/值對,而只是一個字符串,它是一個數組,它是一個較大的陣列的一部分的一部分。這是一種傳統格式,所以我不能很好地調整它。
我已經試過類似:{ Value: {$elmemmatch:{$elemmatch:{"Item1"}}}
,但沒有返回任何比賽。類似地,$regex
不工作,因爲它似乎只匹配字符串對象(和整體對象不是字符串,但在一個陣列中的陣列的字符串)。
這個工作如果可能的話,你可以解釋爲什麼爲什麼會'$於:?[「項目1」]'比賽,但不是'$ EQ:「項目1」'? –
@SimonGillbee其實,你可以使用'eq'也一樣,它工作得很好,你可以從鏈接簽出該文檔。 – McGrady