sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB načte pouze odpovídající dílčí dokumenty z dokumentu s c#

Požadovaný výstup lze vytvořit pouze agregací:

db.collection.aggregate([
   {$match : { empId : '999', 'empActivity.Stamp' : { $lte : ISODate("2015-01-09T12:33:39.927Z")} }},
   {$unwind : '$empActivity'},
   {$match : { empId : '999', 'empActivity.Stamp' : { $lte : ISODate("2015-01-09T12:33:39.927Z")} }},
   {$group: { _id: '$empId', empActivity: { $addToSet: '$empActivity' }}}
])

v c#:

var args = new AggregateArgs
{
    Pipeline = new List<BsonDocument>
    {
        BsonDocument.Parse("{$match : { empId : '999', 'empActivity.Stamp' : { $lte : ISODate('2015-01-09T12:33:39.927Z')} }}"),
        BsonDocument.Parse("{$unwind : '$empActivity'}"),
        BsonDocument.Parse("{$match : { empId : '999', 'empActivity.Stamp' : { $lte : ISODate('2015-01-09T12:33:39.927Z')} }}"),
        BsonDocument.Parse("{$group: { _id: '$empId', empActivity: { $addToSet: '$empActivity' }}}"),
    }
};

var result = collection.Aggregate(args).ToList();



  1. MongoDB - Jak najít odlišné hodnoty na základě částečného řetězce

  2. Jak uložit 1 milion záznamů do mongodb asynchronně?

  3. V Mongodb, Jak mohu indexovat pole (pole) v kolekcích pouze v sekundárním uzlu (sadě replik)

  4. Souborový systém pouze pro čtení při pokusu o mkdir /data/db na Macu