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

Cara menggunakan URL baru dari mongodb 3.6 untuk terhubung dari golang

Saya hanya bisa melihat bahwa kode dimulai, lalu tidak ada

Seperti yang telah Anda ketahui, ini karena DialInfo secara default memiliki batas waktu nol. Panggilan akan memblokir selamanya menunggu koneksi dibuat. Anda juga dapat menentukan batas waktu dengan:

dialInfo.Timeout = time.Duration(30)
session, err := mgo.DialWithInfo(dialInfo)

Sekarang saya tidak mendapatkan server yang dapat dijangkau

Ini karena globalsign/mgo saat ini belum mendukung URI string koneksi SRV. Lihat masalah 112.Anda dapat menggunakan format URI koneksi non-srv (MongoDB v3.4), lihat pertanyaan terkait StackOverflow:41173720.

Anda dapat menggunakan mongo-go-driver sebagai gantinya jika Anda ingin terhubung menggunakan URI koneksi SRV, misalnya:

mongoURI := "mongodb+srv://admin:[email protected]/dbname?ssl=true&retryWrites=true"

client, err := mongo.NewClient(options.Client().ApplyURI(mongoURI))
if err != nil {
    log.Fatal(err)
}
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
err = client.Connect(ctx)
defer client.Disconnect(ctx)

if err != nil {
    log.Fatal(err)
}
database := client.Database("go")
collection := database.Collection("atlas")

Contoh di atas kompatibel dengan versi saat ini v1.0.0




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Kunci Unik dalam Dokumen Tersemat

  2. Bagaimana cara menghentikan penyisipan dokumen Duplikat dalam koleksi mongodb

  3. Impor File CSV ke MongoDB dengan mongoimport

  4. php agregasi mongodb

  5. Mengelola Jurnal di MongoDB