MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Wykonywanie zapytań, filtrowanie i aktualizowanie wielopoziomowych tablic zagnieżdżonych w MongoDB przy użyciu C#

Powinieneś użyć wielopozycyjnego operatora $[], spróbuję napisać, czego powinieneś użyć dla wklejonego kodu:

var baseFilter = Builders<Project>.Filter.Eq("ProjectID": 1);
var update = Builders<Project>.Update.Set("ProjectTasks.$[i].Comments.$[j].CommentDescription", comment.CommentDescription);

var arrayFilters = new List<ArrayFilterDefinition>
{
    /* change the type names here if they have different names, I just guessed */
    new BsonDocumentArrayFilterDefinition<ProjectTask>(new BsonDocument("i.ProjectTaskID", projectTaskID)),
    new BsonDocumentArrayFilterDefinition<Comment>(new BsonDocument("j.CommentId", commentID))
};

var updateOptions = new UpdateOptions { ArrayFilters = arrayFilters };

await Collection.UpdateOneAsync(baseFilter, update, updateOptions);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Projekcja MongoDB zagnieżdżonych tablic

  2. Czym NoSQL zorientowany na kolumny różni się od zorientowanego na dokument?

  3. Jak działa przykład zliczania wiadomości w dokumentach Meteor?

  4. Jak znaleźć osadzone dokumenty Mongoid na podstawie wielu kryteriów?

  5. Budowanie indeksów w MongoDB za pomocą sterownika .NET 2.0