5

配列statusからオブジェクトのフィールドを更新しようとしていますp2l

var update = Builders<BsonDocument>.Update.Set("p2l.$.status",BsonValue.Create(status))

コードは正常に動作するようですが、型付きビルダーで実装し、すべてのフィールドを lambda で設定するにはどうすればよいですか? 次のリンクで解決策を見つけました C#ドライバーを使用してMongoDBの配列のサブドキュメントに含まれる配列のサブドキュメントのフィールドを更新する方法?

ただし、古いバージョンのドライバーにのみ適しています。

4

1 に答える 1

9

次のようなものを試すことができます:

Builders<Person>.Update.Set(x => x.Pets[-1].Name, "Fluffencutters")

Pets コレクションの-1インデックスに注意してください。これは、すべての要素にセットを適用することを意味します。UpdateDefinitionBuilderTests
を調べ て、この解決策を見つけました。

于 2015-08-04T10:33:36.490 に答える