公式の Mongodb C# ドライバーを使用しています。これにより、ネストされたドキュメント構造を構築できます。現在、問題のドキュメントを正確に参照するには完全修飾ドット表記が必要なため、これらのドキュメントに対するクエリは面倒な作業です。このために、すべての親ドキュメント キーを取得して、そのうちの 1 つを選択し、文字列に追加して .Query に渡すことができるようにします。すべての外部キーを再帰的に取得できますが、入力したキーより 1 レベル低い外部キーの名前を取得する方法がわかりません。すべてのキーを取得するために使用しているコードは次のとおりです。
void Print(BsonDocument document)
{
foreach (var element in document)
{
bool a = element.Value.IsBsonDocument;
if (element.Value.IsBsonDocument)
{
Console.WriteLine(element.Name);
Print(element.Value.AsBsonDocument);
Console.WriteLine("\n");
}
}
ドキュメントは、FindOneById(Id) メソッドで取得したメイン ドキュメントです。