1
我正在使用MongoDB來存儲一個包含[通常]只包含字符串的名稱/值對子對象的對象。我們看到一些數據損壞,其中的對象變得比他們應該變得更加深層嵌套。在Mongo中,我該如何確定一個對象的嵌套深度?
例如,這是一個有效的對象:
{ "_id" : 1, "d": { "a":"foo", "b":"bar" } }
我們看到了一些無效的對象,如下所示:
{ "_id" : 1, "d": { "a":"foo", "b":{ "c":"bar" } } }
或:
{ "_id" : 1, "d": { "a":{ "z":"foo" }, "b":"bar" } }
我想編寫查詢來查找所有損壞的值。任何'd'屬性中的值都是對象而不是字符串。
唯一的問題是每次都會損壞確切的值。對於某些對象而言,它是'b'屬性,但對於其他對象而言,它是不同的屬性。 – AgileJon 2011-06-08 22:30:40
@AgileJon:這裏唯一的解決方案是對每個可能「損壞」的屬性運行這樣的查詢,或者使用'$ or'運算符。真的沒有「對象屬性通配符」語法可用。 – 2011-06-09 19:08:44