Tôi có schema tài liệu sau đây:Thêm các biến 'ảo' vào lược đồ mongoose?
var pageSchema = new Schema({
name: String
, desc: String
, url: String
})
Bây giờ, trong ứng dụng của tôi, tôi muốn cũng phải có nguồn html của trang bên trong đối tượng, nhưng tôi không muốn để lưu trữ nó trong db.
Tôi có nên tạo đối tượng nâng cao "cục bộ" có tham chiếu đến tài liệu db không?
function Page (docModel, html) {
this._docModel = docModel
this._html = html
}
Có cách nào để sử dụng mô hình tài liệu trực tiếp bằng cách thêm trường "ảo" không?
Tại sao bạn muốn có nó trong đối tượng nhưng không lưu trữ? –
Bởi vì tôi không cần nó liên tục: nếu tôi khởi động lại máy chủ của tôi và tải lại các đối tượng từ cơ sở dữ liệu, html đó sẽ cần phải được cập nhật quá (nó đến từ một quá trình bên ngoài). Tôi có thể cất giữ nó, nhưng nó sẽ lãng phí không gian. Vì trong Mongoose có những phương pháp ảo, nó sẽ được tốt đẹp để còn có các biến ảo .. – fusio
Bạn chỉ có thể thiết lập [chết tiệt nhập] một tài sản trên các đối tượng như 'document.prop = html'. Tôi không nghĩ rằng phương pháp đó hoặc virtuals sẽ thực sự cho phép bạn lấy dữ liệu "địa phương" nếu bạn lấy đối tượng từ db nữa tuy nhiên, ngay cả khi không khởi động lại. –