Tôi đang cố gắng tìm tài liệu, nhưng vô ích, về cách tạo chỉ mục đa trường trong Mongoosejs. Đặc biệt, tôi có hai trường cần được lập chỉ mục và duy nhất. Lược đồ mongoose ví dụ lập chỉ mục hai trường với nhau là gì?
Câu trả lời:
Bạn gọi indexphương thức trên Schemađối tượng của mình để thực hiện điều đó như được hiển thị ở đây . Đối với trường hợp của bạn, nó sẽ giống như:
mySchema.index({field1: 1, field2: 1}, {unique: true});
1đang tăng dần, -1sẽ giảm dần.
index.
1và -1 chỉ định một khóa chỉ mục tăng dần hoặc giảm dần trên trường chỉ mục. Tôi đã tìm thấy tài liệu http://mongodb.github.io/node-mongodb-native/2.1/tutorials/create-indexes/
Việc xác định các chỉ mục ở cấp giản đồ là cần thiết khi tạo các chỉ mục ghép.
animalSchema.index({ name: 1, type: -1 });
Nhân tiện, câu trả lời được chấp nhận là sai, theo https://stackoverflow.com/a/52553550/129300, bạn nên đặt tên trường trong dấu ngoặc kép, tức là:
mySchema.index({'field1': 1, 'field2': 1}, {unique: true});
Ngày hạnh phúc!
field1và field2là số nhận dạng hợp lệ. field1.foochẳng hạn.
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"
..
..
}
}
Tôi đã thử nghiệm với dữ liệu mẫu, nó hoạt động hoàn hảo như mong đợi.