Tôi có các lược đồ sau; Địa chỉ là vị trí được mã hóa địa lý và Đại lý có nhiều địa chỉ. Câu hỏi của tôi là, nếu tôi muốn có thể thực hiện tìm kiếm không gian địa lý trên cơ quan dựa trên địa chỉ của nó thì tôi có cần phải lập chỉ mục bằng cách nào đó ở cấp đại lý (đã được lập chỉ mục ở cấp lược đồ địa chỉ) không?Tôi có thể/nên lập chỉ mục một tài liệu được nhúng trong Mongoose không?
Ngoài ra, tôi đang gặp khó khăn khi tìm thông tin về cách tìm dựa trên tài liệu lồng nhau. Trong kịch bản này, thậm chí có thể làm những gì tôi đang hy vọng hay tôi nên mở rộng cấu trúc miền của mình một chút và có một "AgencyAddress"? Cách tiếp cận này dường như là một chút RDBMS đối với tôi nhưng tôi cũng có thể thấy được những ưu điểm của nó.
Tôi hơi bối rối về cách tôi có thể sử dụng ObjectId refs từ Agency (hoặc đối tượng bridge AgencyAddress) mà không có một liên kết ngược ngược trở lại từ địa chỉ. Tôi không muốn có liên kết ngược vì địa chỉ sẽ được sử dụng bởi một số đối tượng khác trong ứng dụng.
Cảm ơn!
var AddressSchema = new Schema({
name : {type: String, default : ''},
street1 : {type: String, default : ''},
street2 : {type: String, default : ''},
city : {type: String, default : '', required: true},
state : {type: String, required : true},
zip : {type: String, default ''},
country : {type: String},
location : {longitude: Number, latitude:Number}
type : {type: String, enum:['agent', 'agency', 'registrant'], index:true}
created_at : {type: Date, default: Date.now},
updated_at : {type: Date, default: Date.now}
primary : {type: Boolean, default: false}
});
AddressSchema.index({location: '2d'});
Cơ quan:
var AgencySchema = new Schema({
name : {type : String, default : '', required : true},
Type : {type : String, enum['medical', 'disaster-service', 'local-law', 'state-law', 'federal-law'], index:true},
Addresses : [Address],
created_at : {type : Date, default : Date.now},
updated_at : {type : Date, default : Date.now}
});
Ahh, đó là người đàn ông hoàn hảo. Cảm ơn bạn. – Chance
Nó không cảm thấy hoàn hảo với tôi. Có thực sự là một yêu cầu mà chỉ mục được tạo ra trong giao diện điều khiển mongo ?! – Greg
@Greg "Có thực sự là một yêu cầu mà chỉ mục được tạo trong giao diện điều khiển mongo", không, bạn có thể làm điều đó thông qua bất kỳ trình điều khiển ngôn ngữ nào bạn sử dụng, tôi đã nói từ console vì tôi không có kinh nghiệm với mongoose – RameshVel