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

FieldPathフィールド名に「。」を含めることはできません。 AGGREGATEを使おうとすると

    以下のクエリを使用できます

    $exprを使用している場合 そうすれば、その中で簡単に集計演算子を使用できます。したがって、.dotを使用する代わりに 要素を見つけるための表記法では、 $arrayElemAt 必要な要素を選択する機能を提供する演算子。

    db.table.aggregate([
      { '$match': {
        '$expr': {
          '$and': [
            { '$eq': [{ '$size': '$events' }, 4] },
            { '$lt': [{ '$arrayElemAt': ['$events.updated', 0] }, '2019-05-05'] }
          ]
        }
      }}
    ])
    

    またはあなたがやろうとしていた方法

    db.collection.aggregate([
      { "$match": {
        "events.0.updated": { "$lt": "2019-05-05" },
        "$expr": { "$eq": [{ "$size": "$events" }, 4] }
      }}
    ])
    

    $exprを確認できます 動作ここ




    1. PyMongoを使用して重複キーエラーの後に挿入を続行する方法

    2. Mongodb、コレクションが空かどうかを確認します、node.js

    3. MongoDB-クエリの結果を制限する

    4. MongoEngine-別のユーザーがこのデータベースに対してすでに認証されています。最初にログアウトする必要があります