sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB – Hvordan returnerer jeg dokumenter med som ?

Du kan opnå dette med aggregeringsrammen ved hjælp af en $group at gruppere dokumenter efter device_id , efterfulgt af et arrayToObject for at få en værdi som nøgle:

forespørgslen ser sådan ud:

db.collection.aggregate([{ "$group":{ "_id":"$device_id", "dt":{ "$push":"$date" } }}, { "$ replaceRoot":{ "newRoot":{ "$arrayToObject":{ "$concatArrays":[ [{ "k":"$_id", "v":"$dt" }] ] } }}]) 

resultater:

[ { "D4YK2-R2D20-KYPI9":[ "2018-04-01T00:00:00.000Z" ] }, { "ML39A-341D4-UI041":[ "2018-03-28T00:00 :00.000Z", "2018-03-29T00:00:00.000Z" ] }]

du kan prøve det her:mongoplayground.net/p/t9AjMA0nXCn




  1. MongoDB shell og server matcher ikke

  2. Effektiv POJO-kortlægning til/fra Java Mongo DBObject ved hjælp af Jackson

  3. Krypter Mongo-data i Meteorjs

  4. $unionWith – MongoDBs ækvivalent af UNION ALL