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

条件付きで、mongodbプロジェクトの集約にフィールド(_idまたはその他)を含めますか?

    現在、$ projectステージ内でこれを行う方法はありませんが、$ redactステージを使用して、条件付きでフィールドを削除できます(つまり、例のように値を0に設定します。

    db.collection.aggregate(
      ... matching and stuff ...
      {$project: { _id: { $ifNull: [ "$user_id", 0 ] } }},
      {$redact: {
      {$cond: {
        if: { $eq: [ "$user_id", 0 ] },
        then: '$$PRUNE',
        else: '$$DESCEND'
      }}
    }
    


    1. 辞書からRedisへのバッチセットデータ

    2. mongodbに直接アクセスする必要がありますか?

    3. Rails付きのMongoid、attr_accessible->メソッドが見つかりません

    4. MongoDB 2.0でアップサートを行う方法は?