我有一些关于我的猫鼬模型的信息,这些信息是暂时的。出于性能原因,我不希望将其存储在模型中。但我确实希望能够将此信息提供给连接到我的服务器并请求它的客户端。
这是一个简单的例子:
var mongoose = require('mongoose'),
db = require('./dbconn').dbconn;
var PersonSchema = new mongoose.Schema({
name : String,
age : Number,
});
var Person = db.model('Person', PersonSchema);
var fred = new Person({ name: 'fred', age: 100 });
Person 模式有两个我要存储的属性(姓名和年龄)。这很有效。我们在控制台中看到:
console.log(fred);
{ 姓名:“弗雷德”,年龄:100,_id:509edc9d8aafee8672000001 }
但是,我确实有一个属性(“状态”)会迅速变化,我不想将其存储在数据库中。但我确实想动态跟踪它并将其提供给客户端,因此我将其作为键添加到实例中/ val 对。
fred.status = "alive";
如果我们在添加“alive”键/值对后再次在控制台中查看 fred ,我们会再次看到fred ,但没有显示他的状态:
{ 姓名:“弗雷德”,年龄:100,_id:509edc9d8aafee8672000001 }
然而,key/val 对肯定存在.. 我们看到:
console.log(fred.status);
呈现:
活
我发送给客户端的对象的 JSON 表示也是如此。“状态”不包括在内。
我不明白为什么..有人可以帮忙吗?
或者,是否有更好的方法将属性添加到未持久化到数据库的猫鼬模式?