node.js - 如何使用 Mongoose 模式内部获取和设置函数

标签 node.js mongodb mongoose

如何在模式创建中使用 if 条件, 我的架构是,

    var mongoose = require('mongoose');
    var Schema = mongoose.Schema;
    var testSchema = new Schema({
      "Name":String,
      "TestValue":String
    }, {
      collection: 'test'
    });

    testSchema.eachPath(function(path) {   
             console.log(path);
    });

    testSchema.path('TestValue').set(function(value) {
        console.log("value: " + value);
        value="FFF";
        this.TestValue = value;
        return value;
    });

    module.exports = mongoose.model('test', testSchema);

我必须根据 if 条件更改 TestValue,如何解决问题...请给我一些解决方案来解决该问题。

最佳答案

这里有几个选项。这里有一些:

testSchema.path('TestValue').set(function(value) {
    if (value === 'uh oh') {
        return 'a different value';
    } else {
        return value;
    }
});

或者,如果您愿意,也可以使用三元:

testSchema.path('TestValue').set(function(value) {
    return (value === 'uh oh') ? 'a different value' : value
});

关于node.js - 如何使用 Mongoose 模式内部获取和设置函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34015078/

相关文章:

javascript - 使用 Express Node.js 和 mongoose 声明 session

javascript - 如何限制客户端通过 websocket 发送的数据量?

javascript - 首先读取数据来决定在哪里 .pipe()

javascript - 将参数传递给函数导出 Node

node.js - Mongoose-如何引用嵌入文档元素?

node.js - 在属性中保存键值对的架构 - Mongoose

javascript - 使用 Express js 在其帐户创建或注册表中上传用户图像

c# - 在 SQL Server 上存储 NoSQL 数据?

php - 将 PHP 更新到 5.3 后无法加载 mongo.so 扩展

mongodb - 返回 Mongoose promise 的单元测试函数