私の場合は次のとおりです。ユーザーが参加したアプリケーションを表すドキュメント配列が内部にあるドキュメントがあります (図を参照)。
アプリケーション名に従って、ユーザーごとに 1 つのドキュメントだけを取得する必要があります...次のコードを記述し、動作します...しかし、すべてのアプリケーションを取得します。1つだけ返す方法は?
public Application GetUserApplication(string username)
{
var query = Query.And(Query.EQ("UserName", username), Query.ElemMatch("Applications",
Query.EQ("Key", this.applicationKey)));
MongoCursor<BsonDocument> cursor = this.users.FindAs<BsonDocument>(query);
cursor.SetFields(new string[]{ "Applications" });
cursor.SetLimit(1);
var it = cursor.GetEnumerator();
var apps = it.MoveNext() ? it.Current["Applications"].AsBsonArray : null;
...
}