sql >> Database >  >> NoSQL >> MongoDB

Query's, filteren en bijwerken van geneste arrays op meerdere niveaus in MongoDB met behulp van C#

Je moet $[] multiple positional operator gebruiken, ik zal proberen te schrijven wat je moet gebruiken voor de code die je hebt geplakt:

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. Wat is het standaard probleem bij het schrijven van mongoden in welke versie?

  2. Mongo-aggregatie binnen tijdsintervallen

  3. Kan redis mysql volledig vervangen?

  4. Zoek naar documenten met een intern subveld van een bepaalde waarde