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

MongoDB+Azure+Android:Kesalahan:com.mongodb.MongoException:tidak berbicara dengan master dan coba lagi habis

Alasan kesalahan intermiten adalah karena preferensi baca default untuk driver, terutama terkait dengan set replika. Preferensi baca default adalah yang utama. Untuk setiap mode yang disebutkan di bawah, PRIMARY mengacu pada database master (selalu yang paling mutakhir) dan SECONDARY mengacu pada slave, yang pada dasarnya adalah salinan dari master dan tidak selalu up-to-date.

PRIMARY: The default read mode. Read from primary only. Throw an error if
         primary is unavailable. Cannot be combined with tags.

Solusi untuk mengubah preferensi baca menjadi salah satu dari berikut ini:

PRIMARY PREFERRED: Read from primary if available, otherwise a secondary.
SECONDARY PREFERRED: Read from a secondary if available, otherwise read from the primary.
NEAREST: Read from any member node from the set of nodes which respond the fastest.

Contoh kode:

// Use this when doing a read if you don't care if the data is always consistent.
// Change the following with secondaryPreferred() if you have high writes, so
// that you don't interfere with them.
ReadPreference preference = ReadPreference.primaryPreferred();
DBCursor cur = new DBCursor(collection, query, null, preference);

Untuk info lebih lanjut, lihat sumber .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mengambil data dari MongoDB?

  2. Nestjs:Skema yang benar untuk larik subdokumen dalam luwak (tanpa _id default atau mendefinisikan ulang ObjectId)

  3. Tidak dapat terhubung ke database atlas MongoDB

  4. Menghapus satu objek dari array objek di MongoDB

  5. Saya memiliki kueri mongodb dan saya ingin menemukan kata yang sama persis "Disetujui"