0
我想創建一個查詢或聚合,其中返回的文檔不包含子文檔。我不知道給定的字段會提前作爲子文檔(或者我只是使用投影來跳過它們)。因此,舉例來說,如果我有一個這樣的文件:MongoDB查詢或聚合以跳過子文檔
{
_id: 1,
field1: "a",
field2: "b",
field3: {
subfield1: "c",
subfield2: "d"
}
}
當我查詢返回這個文件,它要麼跳過場3,或者用別的東西(例如一個字符串=「field_is_an_object」)取代場3的值。
正如我所說,我不知道哪些字段將是子文檔(或「對象」類型)。 $ redact操作符是我能找到的最接近的,但我無法弄清楚它的工作原理。
這工作......謝謝。詳細的解釋也很有幫助。我唯一的意見是,$ objectToArray操作在3.6中是新的,並且3.6還沒有正式發佈。我安裝了最新的3.6版RC,它確實有效。 –
它在3.4中可用:https://docs.mongodb.com/manual/reference/operator/aggregation/objectToArray/ – dnickless
那真是令人尷尬。我在3.4.0,所以它不適合我;我可以發誓我看到了一些說「添加到3.6」的東西,所以這就是我安裝的東西。雖然文檔清楚地表明它是在3.4.4中添加的。再次感謝。 –