2011-04-07 203 views
0

當我保存它之前登錄的客體的權利,它看起來像這樣:在MongoDB中嵌套數組?

{ 
    "type": "events", 
    "labels": [ 
     "abc", 
     "123" 
    ], 
    "keywords": [ 
     [ 
      "a", 
      "b", 
      "c", 
      "d", 
      "e" 
     ], 
     [ 
      "1", 
      "2", 
      "3", 
      "4", 
      "5" 
     ] 
    ], 
    "_id": "4d9ddac669cb3bf5e855a366" 
} 

但當時如果我進入蒙戈外殼可以節省這樣的...

{ 
    "_id": ObjectId("4d9ddac669cb3bf5e855a366"), 
    "keywords": [ 

    ], 
    "labels": [ 
     "abc", 
     "123" 
    ], 
    "type": "events" 
} 

什麼想法?

回答

1

儲蓄直接在MongoDB的外殼保持嵌套結構:

{ 
    "_id" : "4d9ddac669cb3bf5e855a366", 
    "type" : "events", 
    "labels" : [ 
     "abc", 
     "123" 
    ], 
    "keywords" : [ 
     [ 
      "a", 
      "b", 
      "c", 
      "d", 
      "e" 
     ], 
     [ 
      "1", 
      "2", 
      "3", 
      "4", 
      "5" 
     ] 
    ] 
} 

而且據我所知,所有的官方驅動正確處理嵌套數組。這聽起來像Node中的BSON編寫器可能會跳過外部數組。

你可以運行一些類似的測試,在shell和Node中保存相同的東西,看看它們是否有所不同?

+0

通過殼插入它工作正常。我在Node內部的Mongo上使用Mongoose。 – fancy 2011-04-08 01:53:03