MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Mongodb Gabung di bidang _id dari String ke ObjectId

Anda dapat menggunakan $toObjectId agregasi dari mongodb 4.0 yang mengubah String id ke ObjectId

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

Atau Anda dapat menggunakan $toString agregasi dari mongodb 4.0 yang mengonversi ObjectId ke String

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB hapus Banyak ()

  2. Bagaimana cara mengubah pymongo.cursor.Cursor menjadi dict?

  3. E11000 duplikat indeks kesalahan kunci di mongodb luwak

  4. Apa saja perintah dasar MongoDB dan bagaimana cara menggunakannya?

  5. Mongodb Gabung di bidang _id dari String ke ObjectId