【发布时间】:2016-02-17 19:43:13
【问题描述】:
我正在尝试编写一个应该返回额外数据的插件,方法是在已保存到模型的字段tags 上进行设置,而不是将tags 上的设置数据保存到数据库并返回。
这是插件代码。
module.exports = function samTagsPlugin(schema, options) {
schema.post('init', function () {
document.set('tags', ['a', 'b', 'c']);
});
};
但是,tags 字段以 ['a', 'b', 'c'] 的值保存到 mongodb。有什么办法可以将动态值分配给tags,而猫鼬不会将提供的值保存到数据库中?
我使用的 Mongoose 版本是3.8.x。
【问题讨论】:
-
您是否尝试过使用 [虚拟字段?] (mongoosejs.com/docs/2.7.x/docs/virtuals.html)
-
刚刚添加了一个虚拟字段。但是我该如何设置标签呢?
document.set('virtualTags', ['a', 'b', 'c']);不工作。获取virtualTags: undefined -
刚刚想通了。工作中。谢谢@Manu
-
你考虑过添加到你的插件
schema.pre('save', function (next) { console.log("not persisting tags"); console.log(document); document.set('tags', null); next() })