Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

dapatkah couchdb melakukan perulangan?

Saya pikir saya mengerti apa yang Anda tanyakan. Jawabannya cukup mudah dengan Map/Reduce.

Katakanlah Anda memiliki dokumen orang berikut:

{
   "name": "Person A",
   "interests" [ "computers", "fishing", "sports" ]
}
{
   "name": "Person B",
   "interests" [ "computers", "gaming" ]
}
{
   "name": "Person C",
   "interests" [ "hiking", "sports" ]
}
{
   "name": "Person D",
   "interests" [ "gaming" ]
}

Anda mungkin ingin memancarkan kunci Anda sebagai minat, dengan nilai sebagai nama orang tersebut (atau _id ).

function (doc) {
   for (var x = 0, len = doc.interests.length; x < len; x++) {
      emit(doc.interests[x], doc..name);
   }
}

Hasil tampilan Anda akan terlihat seperti ini:

  • komputer => Orang A
  • komputer => Orang B
  • memancing => Orang A
  • game => Orang B
  • game => Orang D
  • hiking => Orang C
  • olahraga => Orang A
  • olahraga => Orang C

Untuk mendapatkan daftar orang yang tertarik dengan komputer, Anda cukup mengirim key="computers" sebagai bagian dari string kueri.

Jika Anda ingin menambahkan fungsi pengurangan ke peta Anda, Anda cukup menggunakan _count (jalan pintas untuk menggunakan fungsi pengurangan yang dikompilasi) dan Anda dapat mengambil jumlah semua orang dengan minat tertentu, Anda bahkan dapat menggunakannya untuk membatasi minat yang Anda kueri untuk membangun hubungan Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LAST_INSERT_ID() MySQL

  2. MySQL LIMIT pada pernyataan DELETE

  3. ReplicationManager memberikan pengecualian saat membuka koneksi

  4. Bagaimana cara menghasilkan id unik di MySQL?

  5. Kata sandi tidak diverifikasi menggunakan fungsi password_verify