Có thể có, nếu bạn sẵn sàng lưu trữ các giá trị duy nhất trong một bộ sưu tập khác . Nó sẽ có cấu trúc như thế này:
{ "uniquestring" : "a", "account" : 111 }
{ "uniquestring" : "b", "account" : 111 }
{ "uniquestring" : "c", "account" : 111 }
{ "uniquestring" : "d", "account" : 222 }
{ "uniquestring" : "e", "account" : 222 }
{ "uniquestring" : "f", "account" : 222 }
Tôi không phải là chuyên gia về Mongoose, nhưng tôi tin rằng bạn có thể xác định Mô hình để liên kết các bộ sưu tập với nhau, với trường tài khoản ở đây tham chiếu đến trường _id của bộ sưu tập tài khoản.
Bây giờ, bạn có thể thực thi tính duy nhất với một chỉ mục đơn giản:
db.uniquestrings.createIndex( { "uniquestring" : 1 } , { unique : true } )
Bây giờ, ứng dụng của bạn sẽ phải làm nhiều việc hơn một chút khi lưu dữ liệu (nó cần phải lưu vào bộ sưu tập chuỗi đơn cũng như bộ sưu tập tài khoản), nhưng hiện tại bạn đã thực thi cấp cơ sở dữ liệu về tính duy nhất của các chuỗi này, qua cơ sở dữ liệu.
Các chỉnh sửa PS được hoan nghênh từ bất kỳ ai có kiến thức chi tiết hơn về cách triển khai và sử dụng các mô hình như vậy trong mongoose.