node.js - 如何在 Mongoose 中为子文档设置 setter?

标签 node.js mongodb mongoose

Subdocuments Mongoose 中的(嵌入式文档)可以在如下模式中指定:

var childSchema = new Schema({ name: 'string' });

var parentSchema = new Schema({
    children: [childSchema]
});

但是我如何指定 setters在集合上并要求当类型是嵌入式模式时数组不为空?此代码将抛出嵌入式模式不是有效类型的错误:

function someSetter = function(val) {
    // Do something on set
    return val; 
};

var parentSchema = new Schema({
    children: [{type: childSchema, set: someSetter, required: true}]
});

最佳答案

一种解决方案是在 Schema 实例化之后设置 setter。

parentSchema.path('children').set(someSetter);

关于node.js - 如何在 Mongoose 中为子文档设置 setter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18473191/

相关文章:

node.js - NPM 安装错误

mysql - 在 sequelize 中声明关系?

jquery - meteor 渲染和 mongodb 集合

mongodb - 如何从 tar.gz 文件安装 Robomongo 作为 Ubuntu 15.10 中的程序

使用 Deno 或 Rust 的 MongoDB Schema

javascript - Node.js:为 HTTP 代理选择正确的架构,以将许多文件下载给每个用户并将结果作为存档返回

javascript - 如何在 Sails.js 中监视添加到模型中的新记录

javascript - 快速路由和中间件

node.js - MongoDB 中的值未更新

javascript - Mongodb 查看数组中的所有项目是否存在并更新,否则插入