sql >> データベース >  >> NoSQL >> MongoDB

C#を使用したMongoDBの複数レベルのネストされた配列のクエリ、フィルタリング、更新

    $ []の複数の位置演算子を使用する必要があります。貼り付けたコードに使用するものを記述しようとします:

    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. MongoDBのPerconaサーバーの監視-主要な指標

    2. node.js + mongodbアプリの基本的なアーキテクチャは何ですか?

    3. MongoDB:Linqなしでランダム要素を返す方法は? (MongoDB、C#)

    4. nodejs-mongodbミドルウェアの構文がmongoシェルと異なるのはなぜですか?