2016-06-30 34 views
0

Ich habe Daten im folgenden gespeichert:Wie zählen und Paginieren Subdokument, das ein Objekt in mongodb

{ 
    "_id" : ObjectId("57723b5e009793e8f3cfd1d7"), 
    "room" : "1003", 
    "inout" : { 
     "1" : [ 
      "i1654", 
      "o1656", 
      "i1706", 
      "o1707", 
     ], 
     "2" : [ 
      "i1655", 
      "o1656", 
      "i1715", 
      "o1715" 
     ], 
     "3" : [ 
      "i1801" 
     ] 
    } 
} 

wie das Filialdokument „inout“ zählen und Paginieren, das ein Objekt?

danke !!!

Antwort

1

Eigentlich ist eine kleine Änderung in Ihrem JSON erforderlich. Das "Inout" sollte ein Array sein, um die folgende Lösung zu verwenden.

"$ abwickeln" kann hier verwendet werden.

JSON Modified zu definieren "inout" als Array statt Objekt: -

db.rooms_second.insertOne({ 
    "_id" : ObjectId("57723b5e009793e8f3cfd1d7"), 
    "room" : "1003", 
    "inout" : [ 
     {"1" : [ 
      "i1654", 
      "o1656", 
      "i1706", 
      "o1707", 
     ]}, 
     {"2" : [ 
      "i1655", 
      "o1656", 
      "i1715", 
      "o1715" 
     ]}, 
     {"3" : [ 
      "i1801" 
     ]} 
    ] 
}); 

MongoDB Abfrage: -

Im resultset, die unter Abfrage gibt Ihnen einen Datensatz für jedes Element im Array "inout".

Die Paginierung kann basierend auf dem Treiber und der API, die Sie verwenden (d. H. MongoDB Java Driver usw.) erfolgen.

+0

Wenn Sie in ein Array ändern, wie drücken Sie mehr Werte auf die Tasten 1 oder 2 oder 3? Und wie man einen neuen Schlüssel 4 unter Inout drückt? @notionquest Danke. – zackwang

Verwandte Themen