MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB извлича само съвпадащи поддокументи от документ с c#

Желаният резултат може да бъде произведен само чрез агрегиране:

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' }}}
])

в 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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo Group и сума с две полета

  2. Първият MongoDB хостинг DBaaS в подкрепа на Azure Government за публичния сектор

  3. Бавен цикъл на актуализиране на Mongodb

  4. MongoDB $isArray

  5. Rails &Mongoid уникални резултати