sql >> データベース >  >> NoSQL >> MongoDB

このネストされたドキュメント構造(MongoDB)でクエリを作成するにはどうすればよいですか?

    私は、mongoコレクションからサブドキュメントだけを取得することについてこの数回答えましたここ 、およびこちら

    現在、これを行う方法はありません。これは、マルチレベルの埋め込みドキュメントをフィルタリングする動作です。通常、整合フィルターは、サブセットではなく、ドキュメント全体を返します。

    この指定子を返すフィールドの位置($)演算子に関連して、mongoにはすでに2つの未解決の問題があります。 および$演算子を使用してクエリを満たすためにコンテンツが使用されたサブドキュメントのデータを利用する機能 。 (この機能が本当に必要な場合は、ログインして投票してください)

    また、代替スキーマもここでは役に立ちません。

    したがって、各機能をこのように別々のドキュメントに保存して、希望どおりに機能させる必要があります

    機能1

    {
    '_id': SomeObjectId,
    'name' :'some name',
    'value': 'feature 1',
    'some_field' : 'zzz'
    }
    

    機能2

    {
    '_id': SomeObjectId,
    'name' :'some name',
    'value': 'feature 2',
    'some_field' : 'zzz'
    }
    

    とクエリ

    db.features.find({'_id':someobjectid})
    

    特定の機能のみを返します




    1. 埋め込まれたドキュメント/配列のフィールドの平均を計算します

    2. 集計クエリと$groupクエリを使用するときのメモリオーバーフローエラー

    3. MongoDB cursor.count()

    4. MongoDBとNodeJをバッチ挿入