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

パイプライン集約(mongoDB)でドキュメント内の2つのフィールドを比較する方法

    問題は比較演算子ではなく、比較している値のタイプです。変数のタイプを数値に変更する必要があります。比較に基づいて、一致を1、-1、または0に変更します。

    db.bcamp.aggregate(
    [
      {$project: {ab: {$cmp: ['$budget','$clickcost']}}},
      {$match: {ab:{$eq:1}}}
    ]).pretty();
    

    $exprを使用できます 3.6バージョンで。

    db.bcamp.aggregate(
    [
      {$match: {$expr: {$eq: ["$budget", "$clickcost"]}}}
    ]).pretty();
    

    または

    db.bcamp.find(
     {$expr: {$eq: ["$budget", "$clickcost"]}}
    ).pretty();
    



    1. monogdbの$facet集約

    2. 異なるフィールドでグループ化する方法

    3. mongoDBクエリWHERE_id>しきい値

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