更新子文档以推送子子文档列表

时间:2018-01-17 08:51:30

标签: c# mongodb

我有一个AuthorizationRequest的mongo集合,其中包含AuthorizationRequestComponent列表作为子文档。可以为每个Comment添加AuthorizationRequestComponent列表。

在我的存储库部分中,我想使用以下代码在特定Comment中插入AuthorizationRequestComponent列表:

public void AddAuthorizationRequestComponentComments(ObjectId id, string componentCode, List<Comment> comments)
{
    var filter = Builders<AuthorizationRequest>.Filter.And(
            Builders<AuthorizationRequest>.Filter.Eq(x => x.TechnicalId, id),
            Builders<AuthorizationRequest>.Filter.ElemMatch(c => c.AuthorizationRequestComponents, c => c.Code == componentCode)
        );

    var update = Builders<AuthorizationRequest>.Update.PushEach(y => y.AuthorizationRequestComponents[0].Comments, comments);

    _authorizationRequestCollection.UpdateOne(filter, update);
}

不幸的是,注释都是时间添加到我的对象的第一个子文档中。它必须与AuthorizationRequestComponents[0].CommentsElemMatch相关。我在stackoverflow上找到了一些关于此的信息,但它始终使用Builders<BsonDocument>而不是真实对象。

0 个答案:

没有答案