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

Buat _id pada subdokumen di mongoimport --jsonArray

Tidak.

Bukan untuk menghasilkan ObjectId, tetapi Anda dapat menyertakan ObjectId di JSON dengan notasi berikut:

{ "test" : { "$oid" : "5519e8ac996ef7f4636bfaec" } }

Ini akan membuat bidang yang disebut test dengan nilai ObjectId("5519e8ac996ef7f4636bfaec") . Nilai kunci $oid harus berupa ObjectId yang valid.

Ya, itulah yang Anda perlukan untuk menghasilkan nilai ObjectId. Anda dapat menulis skrip kecil menggunakan, misalnya, driver Python untuk melakukan impor dan menghasilkan ObjectId sebagai bagian darinya, atau menggunakan mongoimport lalu memindai koleksi dan memperbarui setiap subdokumen dengan ObjectId:

> db.test.find()
{ "_id" : ObjectId("5519e8ac996ef7f4636bfaec"), "a" : [ { "x" : 1 }, { "y" : 2 } ] } 
> db.test.find().forEach(function(doc) {
    for (var i = 0; i < doc.a.length; i++) {
        doc.a[i]._id = ObjectId()
    }
    db.test.update({ "_id" : doc._id }, doc)
} )

Perhatikan bahwa, kecuali ada alasan khusus untuk memiliki _id/ObjectId pada subdokumen, seperti _id adalah referensi ke dokumen lain, tidak perlu atau tidak diinginkan untuk menempatkan ObjectId pada setiap subdokumen.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Luwak tidak pernah terhubung ke mongodb

  2. Cara Mendapatkan Alamat Server dari server tempat data diambil

  3. MongoDB $indexOfBytes

  4. Tambahkan parameter kueri opsional menggunakan repositori mongodb data pegas

  5. Jika nilai properti adalah nol saat memperbarui maka properti itu tidak boleh ditambahkan ke catatan