2016-04-28 5 views
0

Ich bin neu in MongoDB, ich frage mich, ob Mongodb die Datenbank wie folgt speichern kann?Mongodb Datenbank strcuture

{ 
    "settings": { 
     "system": "windows", 
     "date": "mm-dd-yyyy", 
     "time": "HH-MM-SS" 
    }, 

    "info": { 

     { "_id" : "99921", "city" : "CRAIG", "loc" : [ -133.117081, 55.47317 ], "pop" : 1398, "state" : "AK" }, 
     { "_id" : "99922", "city" : "HYDABURG", "loc" : [ -132.633175, 55.137406 ], "pop" : 891, "state" : "AK" }, 
     { "_id" : "99923", "city" : "HYDER", "loc" : [ -130.124915, 55.925867 ], "pop" : 116, "state" : "AK" }, 
     { "_id" : "99925", "city" : "KLAWOCK", "loc" : [ -133.055503, 55.552611 ], "pop" : 851, "state" : "AK" }, 
     { "_id" : "99926", "city" : "METLAKATLA", "loc" : [ -131.579001, 55.121491 ], "pop" : 1469, "state" : "AK" }, 
     { "_id" : "99927", "city" : "POINT BAKER", "loc" : [ -133.376372, 56.307858 ], "pop" : 426, "state" : "AK" }, 
     { "_id" : "99929", "city" : "WRANGELL", "loc" : [ -132.352918, 56.433524 ], "pop" : 2573, "state" : "AK" }, 
     { "_id" : "99950", "city" : "KETCHIKAN", "loc" : [ -133.18479, 55.942471 ], "pop" : 422, "state" : "AK" } 
    }, 

    "Weather": { 
     ............... 
    } 

} 

wenn nicht, muss ich mehr Sammlungen erstellen?

+1

Ja, es kann Daten speichern, wie Sie angegeben haben, der einzige Unterschied wird sein anstelle von 'info {}' es wird 'info []'. –

Antwort

2

Ja, es kann aber Sie werden ein Array für info und weather Feld verwenden müssen, hier ein Beispiel:

> use temp                                
switched to db temp                              
> db.coll.insert({                              
...  "settings": {                             
...   "system": "windows",                          
...   "date": "mm-dd-yyyy",                          
...   "time": "HH-MM-SS"                           
...  },                                
...                                  
...  "info": [                              
...                                  
...   { "_id" : "99921", "city" : "CRAIG", "loc" : [ -133.117081, 55.47317 ], "pop" : 1398, "state" : "AK" },      
...   { "_id" : "99922", "city" : "HYDABURG", "loc" : [ -132.633175, 55.137406 ], "pop" : 891, "state" : "AK" },     
...   { "_id" : "99923", "city" : "HYDER", "loc" : [ -130.124915, 55.925867 ], "pop" : 116, "state" : "AK" },      
...   { "_id" : "99925", "city" : "KLAWOCK", "loc" : [ -133.055503, 55.552611 ], "pop" : 851, "state" : "AK" },     
...   { "_id" : "99926", "city" : "METLAKATLA", "loc" : [ -131.579001, 55.121491 ], "pop" : 1469, "state" : "AK" },    
...   { "_id" : "99927", "city" : "POINT BAKER", "loc" : [ -133.376372, 56.307858 ], "pop" : 426, "state" : "AK" },    
...   { "_id" : "99929", "city" : "WRANGELL", "loc" : [ -132.352918, 56.433524 ], "pop" : 2573, "state" : "AK" },     
...   { "_id" : "99950", "city" : "KETCHIKAN", "loc" : [ -133.18479, 55.942471 ], "pop" : 422, "state" : "AK" }     
...  ],                                
...                                  
...  "Weather": [                             
... {"_id":"99921", "weather": "cloudy"},                        
... {"_id":"99922", "weather": "sunny"},                        
...  ]                                
... })                                 
WriteResult({ "nInserted" : 1 }) 

überprüfen Zur Verwendung db.coll.find().pretty()

0

Ja absolut, ich Ihnen eine grobe geben kann Idee und du solltest es dann versuchen. Sie können etwas wie verwenden.

db.collection_name.insert(
{ 
settings: { 
    system: "windows", 
    date: "mm-dd-yyyy", 
    time: "HH-MM-SS" 
}, 
info: [ 
{_id : "val", city : "val", loc : "val", pop : "val", state : "val"}, 
{_id : "val", city : "val", loc : "val", pop : "val", state : "val"} 
], 
Weather: "val" 
} 
) 
Verwandte Themen