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

MongoDBで、埋め込みオブジェクトのプロパティに基づいてドキュメントを並べ替えるにはどうすればよいですか?

    releaseは必要ないからです 「GB」リージョンの要素以外の要素は、aggregateで実行できます。 このように:

    db.products.aggregate(
        // Filter the docs to just those containing the 'GB' region
        { $match: {'release.region': 'GB'}},
        // Duplicate the docs, one per release element
        { $unwind: '$release'},
        // Filter the resulting docs to just include the ones from the 'GB' region
        { $match: {'release.region': 'GB'}},
        // Sort by release date
        { $sort: {'release.date': 1}})
    

    出力:

    {
      "result": [
        {
          "_id": "baz",
          "release": {
            "region": "GB",
            "date": ISODate("20110501T00:00:00Z")
          }
        },
        {
          "_id": "foo",
          "release": {
            "region": "GB",
            "date": ISODate("20120301T00:00:00Z")
          }
        },
        {
          "_id": "bar",
          "release": {
            "region": "GB",
            "date": ISODate("20120501T00:00:00Z")
          }
        }
      ],
      "ok": 1
    }
    



    1. Node.js-マングース-コレクションが存在するかどうかを確認します

    2. MongoDBでユーザーと認証を管理する方法

    3. mongodbの配列内のすべての要素からフィールドを削除します

    4. キーの半分を削除しても、Redisのメモリ使用量が減らないのはなぜですか