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

2つのオブジェクト配列を比較し、それらに共通の要素があるかどうかを確認します

    3.6更新:

    $matchを使用する $exprを使用 。 $expr $match内で集計式を使用できるようにします ステージ。

    db.collection.aggregate([
      {"$match":{
        "$expr":{
          "$eq":[
            {"$size":{"$setIntersection":["$FirstArray.Name","$SecondArray.Name"]}},
            0
          ]
        }
      }},
      {"$project":{"_id":1}}
    ])
    

    古いバージョン:

    $redactを試すことができます $setIntersectionを使用 クエリ用。

    $setIntersection FirstArrayを比較します ■Name s with SecondArrayName sおよび$sizeが後に続く一般名ドキュメントの配列を返します および$redact 結果を0と比較します ドキュメントを保持または削除します。

    db.collection.aggregate(
      [{
        $redact: {
          $cond: {
            if: {
              $eq: [{
                $size: {
                  $setIntersection: ["$FirstArray.Name", "$SecondArray.Name"]
                }
              }, 0]
            },
            then: "$$KEEP",
            else: "$$PRUNE"
          }
        }
      }, {
        $project: {
          _id: 1
        }
      }]
    )
    



    1. Nodejs-websocket-nodeモジュール:マルチクライアントソケットサーバーを機能させる方法は?

    2. LuaSocket、Lua 5.2、Redis

    3. PouchDBとMongoDBの使用

    4. mongoイメージのビルド中にsystemctlが見つかりません