MongoDB を使用して C# コードで更新する必要があります。ここでは、以下の更新の第 2 レベルの配列を実装しました (subBranchindex は一般的なリスト オブジェクトで取得されます):-
for (var index = 0; index < subBranchindex.Count; index++)
{
if (subBranchindex[index]._id == new ObjectId(subBranchid))
{
IMongoQuery queryEdit = Query.EQ("BranchOffice.SubBranchlist._id", new ObjectId(subBranchid));
UpdateBuilder update = Update.Set("BranchOffice.$.SubBranchlist."+ index +".Name",subBranch.SubName).
SafeModeResult s = dc.Collection.Update(queryEdit, update,
UpdateFlags.None, SafeMode.True);
}
}
ここでは、第 2 レベルの配列で、(for loop ステートメント) を使用して、配列のインデックス値を取得していました。次に、配列の 3 番目、4 番目、5 番目のレベルを使用できます。これは、(for ループ ステートメント) 以上が割り当てられることを意味します。したがって、[for loop ステートメント] は必要ありません。また、インデックスにハードコア番号を割り当てる必要もありません。
For example: ("BranchOffice.$.SubBranchlist.0.Name",subBranch.SubName)
. ここではハードコアな数値 [インデックス] 0 または 1 または 2 を使用しないでください。「第 2」レベルの配列には 100 を超えるレコードがあります。
インデックス値を配列するために使用できる方法はありますか? この問題を解決する方法を説明してください。例を挙げて説明してください。