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

luwak - ObjectId yang mereferensikan Sub-Dokumen

Ya itu mungkin, tetapi Anda memiliki beberapa opsi.

Opsi 1:C sebagai Subdokumen

Jika Anda benar-benar ingin menggunakan subdokumen, Anda tidak perlu membuat model terpisah. Anda perlu mengubah referensi ke array 'c'.

var C = new Schema({...});  
var B = new Schema({c: [C]});  
var A = new Schema({c: { type: ObjectId, ref: 'ModelB.c' });  

var Model_A = mongoose.model('ModelA', A);  
var Model_B = mongoose.model('ModelB', B); 

Opsi 2:C sebagai Model

(Saya hanya menyajikan ini sebagai alternatif - karena contoh Anda tampaknya berlebihan karena Anda membuat 'C' sebagai Model terpisah serta subdokumen)

Atau, mungkin masuk akal untuk memiliki koleksi terpisah, Anda dapat membuat model luwak untuk masing-masing. Masing-masing akan menjadi koleksi terpisah:

var Model_A = mongoose.model('ModelA', A);  
var Model_B = mongoose.model('ModelB', B);  
var Model_C = mongoose.model('ModelC', C);

Dalam hal ini, Anda mungkin ingin merujuk langsung setiap model:

var C = new Schema({...});  
var B = new Schema({c: { type: ObjectId, ref: 'ModelC' }});  
var A = new Schema({c: { type: ObjectId, ref: 'ModelC' }); 

Intinya

Ya itu mungkin, tetapi Anda harus memilih apakah Anda ingin C sebagai model atau subdokumen.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara mengisi luwak dengan kumpulan data yang besar

  2. Bagaimana Mengonfigurasi AppArmor untuk Kumpulan Replika MongoDB?

  3. Kueri agregat Mongodb, atau terlalu rumit?

  4. show dbs memberikan Not Authorized untuk mengeksekusi perintah error

  5. Abaikan karakter khusus sebelum kondisi pertandingan