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

C# - MongoDB - Perbarui elemen di dalam Dokumen Bersarang

Pertama, Anda perlu menjalankan perintah ini di MongoDB Anda untuk menerapkan fitur baru versi 3.6.1 db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )

Berikut adalah kode yang Anda butuhkan untuk pembaruan itu:

var filter = Builders<YOUR_CLASS>.Filter.Eq("_id", new ObjectId("5a55775cbd12982cc063c71a"));
var update = Builders<YOUR_CLASS>.Update.Set("Cartons.$[i].Skus.$[j].ShippedQuantity", 50);

var arrayFilters = new List<ArrayFilterDefinition>
{
    new BsonDocumentArrayFilterDefinition<Setup>(new BsonDocument("i._id", new ObjectId("5a5575bcbd12982cc063b718"))),
    new BsonDocumentArrayFilterDefinition<Setup>(new BsonDocument("j._ID", new ObjectId("5a5575bcbd12982cc063b719")))
};
var updateOptions = new UpdateOptions { ArrayFilters = arrayFilters };
var (updated, errorMessage) = await UpdateOneAsync(filter, update, updateOptions);

Selain itu, Anda dapat menjalankan setel pengaturan ini di MongoDB Anda untuk melihat kueri akhir Anda dan menjalankannya secara manual di RoboMongo atau Studio 3T untuk men-debugnya:

db.setProfilingLevel(2)   -> to view query logs under C:\data\log\mongod.log
db.setLogLevel(5)         -> to view query logs under C:\data\log\mongod.log

cari kueri "PERBARUI" di file log. Setelah itu, Anda dapat mengatur ulang pengaturan log kembali ke 0

db.setProfilingLevel(0)
db.setLogLevel(0)

Saya memiliki masalah yang sama dan menanyakan pertanyaan yang sama. Lihat ini.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Node js batas populasi luwak

  2. Apa itu aturan pluralisasi Mongoose (Nodejs)?

  3. Memahami Opsi Batas Waktu Klien MongoDB

  4. Mengapa Mongoose menambahkan array kosong?

  5. Nilai kenaikan Mongodb di dalam array bersarang