2014-12-17 14 views
6

Tôi có một thuộc tính ảo trong lược đồ mongoose của mình, tôi muốn biết liệu tôi có thể truy vấn tài liệu của mình bằng thuộc tính này hay không.Truy vấn tài sản ảo ở mongoose

var PersonSchema = new Schema({ 
    number: {type: Number, required: true}, 
    name: {type: Date, required: true} 
}); 

PersonSchema.virtual('capitalCaseName').get(function() { 
    return this.name.toUpperCase(); 
}); 
... 
Person.find({"capitalCaseName": "DANIEL"}).exec(); 
... 
+3

Tại sao không sử dụng truy vấn regex phân biệt chữ hoa chữ thường? –

+0

Tôi làm ví dụ của tôi dễ hiểu. Đó không phải là mô hình thực sự – danielrvt

Trả lời

10

Không, bạn không thể. Thuộc tính ảo Mongoose chỉ tồn tại trong mô hình trình bày Mongoose của các tài liệu, không phải trong MongoDB mà tại đó truy vấn được thực hiện.

Bất kỳ trường nào bạn cần truy vấn phải được xác định trong giản đồ dưới dạng trường không phải ảo và được lưu giữ lâu dài vào cơ sở dữ liệu.

+2

Nó sẽ không được tốt đẹp nếu nó có thể? – newman

+0

Và không tồn tại một giải pháp thay thế? –

Các vấn đề liên quan