Terdapat dokumen, dan salah satu atributnya ialah tatasusunan dokumen adakah sama? Bolehkah anda menentukan atribut
{_id:0,
user:[{id:1,name:a}]
}
Contohnya, untuk rekod di atas, saya ingin menambah data ke pengguna , jika id adalah 1, ia bermakna ia sudah wujud, jadi ia tidak akan ditambah, jika tidak, ia akan ditambahkan pada tatasusunan pengguna
$addToSet boleh mencapai keperluan ini
Terima kasih
Keunikan subdokumen yang anda perlukan tidak boleh dicapai dengan $addToSet. Terdapat dua idea untuk rujukan:
1. Cuba lihat sama ada anda boleh mencipta indeks unik komposit dalam perniagaan
Contohnya: Buat indeks komposit unik pada nama dan user.id teks {_id, nama, nombor, pengguna[{id, nama}]}
2. Kawalan kod
Sebelum mengemas kini, gunakan $ne atau $nin untuk menentukan sama ada user.id wujud dalam id sedia ada Jika ia tidak wujud, anda boleh mengemas kini.
Untuk rujukan.
Sayangi MongoDB! Selamat Berseronok!