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

文字列からObjectIdへの_idフィールドでのMongodb結合

    $toObjectIdを使用できます mongodb 4.0からの集計 文字列idを変換します ObjectId

    db.role.aggregate([
      { "$lookup": {
        "from": "user",
        "let": { "userId": "$_id" },
        "pipeline": [
          { "$addFields": { "userId": { "$toObjectId": "$userId" }}},
          { "$match": { "$expr": { "$eq": [ "$userId", "$$userId" ] } } }
        ],
        "as": "output"
      }}
    ])
    

    または、 $toStringを使用できます mongodb 4.0からの集計 ObjectIdを変換します String

    db.role.aggregate([
      { "$addFields": { "userId": { "$toString": "$_id" }}},
      { "$lookup": {
        "from": "user",
        "localField": "userId",
        "foreignField": "userId",
        "as": "output"
      }}
    ])
    


    1. mongo-サーバー127.0.0.1:27017に接続できませんでした

    2. MongoDBユーザー管理の開始

    3. redispythonでのキーの有効期限の通知

    4. MongoDB配列で重複する値を見つける