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

bagaimana saya bisa secara otomatis menambah bidang di mongodb menggunakan kode Java?

MongoDB secara otomatis membuat id untuk setiap objek yang dimasukkan ke dalamnya. Anda tidak perlu membuat id Anda sendiri.

Jika Anda memang membutuhkan id bilangan bulat yang bertambah maka Anda mengalami semua jenis masalah sinkronisasi terdistribusi - sebenarnya cukup sulit untuk mendapatkan yang benar untuk kasus non-sepele.

Untuk menghasilkan id unik, cara paling sederhana yang dapat saya pikirkan:

  • letakkan indeks pada kolom id dengan batasan unik.
  • untuk menyisipkan kueri dokumen pada indeks untuk angka tertinggi, tambahkan 1, gunakan itu sebagai id.
  • jika penyisipan gagal karena duplikat indeks coba lagi

Ini melibatkan beberapa perjalanan pulang pergi tetapi harus kuat dan dengan indeks di tempat yang cukup cepat.

Jika Anda hanya memiliki satu lokasi yang menulis ini, Anda dapat menguangkan id dalam AtomicInteger secara lokal dan hanya melakukan proses perjalanan pulang pergi penuh jika Anda mendeteksi tabrakan, maka perbarui AtomicInteger.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menghentikan penyisipan dokumen Duplikat dalam koleksi mongodb

  2. MongoDB:locale::facet::_S_create_c_nama lokal tidak valid

  3. Cara terbaik untuk melakukan pencarian teks lengkap di MongoDB dan Mongoose

  4. Spring boot/mongo tidak akan membuat indeks dengan anotasi indeks

  5. Bagaimana cara menggunakan GraphQL dengan Mongoose dan MongoDB tanpa membuat model Mongoose