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

Bagaimana cara mendapatkan semua kunci koleksi yang berisi nilai (String) tertentu di mongodb

Anda dapat melakukannya dengan membentuk kembali data di sumber data menggunakan objectToArray

Mainkan

db.collection.aggregate([
  {
    "$project": {
      "data": {
        "$objectToArray": "$$ROOT"
      }
    }
  },
  {
    $unwind: "$data"
  },
  {
    "$match": {
      "data.v": {
        $regex: "hello"
      }
    }
  }
])

Versi lanjutan lainnya di sini Ini membentuk kembali data

db.collection.aggregate([
  {
    "$project": {
      "data": {
        "$objectToArray": "$$ROOT"
      }
    }
  },
  {
    $unwind: "$data"
  },
  {
    "$match": {
      "data.v": {
        $regex: "hello"
      }
    }
  },
  {
    $group: {//Grouping back and restructuring the data so that objectToArray will bring the original format easily.
      "_id": "$_id",
      data: {
        "$addToSet": {
          k: "$data.k",
          v: "$data.v"
        }
      }
    }
  },
  {
    "$project": {
      "data": {
        "$arrayToObject": "$data"
      }
    }
  }
])

Lihat dokumentasi arrayToObject dan objectToArray , lalu $regex




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. geojson luwak dalam skema, Tidak dapat mengekstrak kesalahan kunci geo

  2. Mengembalikan bidang khusus di MongoDB

  3. MongoError:Pengubah tidak dikenal:$pushAll di node js

  4. Meningkatkan Kinerja Pencarian Teks MongoDB

  5. Ubah keymap menjadi vektor menggunakan kerangka MongoDB