我有一个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].Comments
或ElemMatch
相关。我在stackoverflow上找到了一些关于此的信息,但它始终使用Builders<BsonDocument>
而不是真实对象。