Saya mencoba mencari dokumentasi, tetapi tidak berhasil, tentang cara membuat indeks multi-bidang di Mongoosejs. Secara khusus saya memiliki dua bidang yang perlu diindeks dan unik. Apa contoh skema luwak yang mengindeks dua bidang bersama-sama?
Jawaban:
Anda memanggil index
metode pada Schema
objek Anda untuk melakukan itu seperti yang ditunjukkan di sini . Untuk kasus Anda, ini akan menjadi seperti:
mySchema.index({field1: 1, field2: 1}, {unique: true});
1
sedang naik, -1
akan turun.
index
.
1
dan -1
menentukan kunci indeks naik atau turun di bidang indeks. Saya menemukan dokumen http://mongodb.github.io/node-mongodb-native/2.1/tutorials/create-indexes/
Menentukan indeks di tingkat skema diperlukan saat membuat indeks gabungan.
animalSchema.index({ name: 1, type: -1 });
Omong-omong, jawaban yang diterima salah, sesuai https://stackoverflow.com/a/52553550/129300 Anda harus membungkus nama bidang dalam tanda kutip tunggal, yaitu:
mySchema.index({'field1': 1, 'field2': 1}, {unique: true});
Hari bahagia!
field1
dan field2
merupakan pengenal yang valid. field1.foo
tidak, misalnya.
Following command can be used to create compound index for nested json:
db.ACCOUNT_collection.createIndex({"account.id":1,"account.customerId":1},{unique:1})
Mongo json structure is like :
{"_id":"648738"
"account": {
"id": "123",
"customerId": 7879,
"name": "test"
..
..
}
}
Saya telah menguji dengan data sampel itu berfungsi sempurna seperti yang diharapkan.