小编enr*_*rez的帖子

猫鼬:如何在模式方法中访问select:false属性?

快速代码:

var userSchema = new mongoose.Schema({
    username: String,
    password: {type: String, select: false}
});

userSchema.methods.checkPassword = function(password, done) {
    console.log(password);      // Password to check
    console.log(this.password); // stored password
    ...
};
Run Code Online (Sandbox Code Playgroud)

我不希望默认情况下可以访问该密码,但是我需要一种在验证用户身份之前对用户输入的密码进行检查的方法。我知道我可以对数据库进行查询以包含这些值,但是我对如何访问架构方法本身的hidden属性有些迷惑。this在方法本身只是返回的查询,所以似乎无法访问?我应该在checkPassword()其他地方执行此功能吗?

mongoose mongodb

6
推荐指数
2
解决办法
3336
查看次数

Mongoose findByIdAndUpdate 未对子文档运行验证

这是我的模型:

'use strict';
var nested = new Schema({
    name: String
});

var test = new Schema({
    url   : {
        type      : String,
        // First validation
        validate  : [validator.isURL, 'Invalid URL']
    },
    array : [
        {
            type: nested,

            // Second Validation
            validate: [function(value) {console.log("CALLED"); return value.length <=3;}, 'Too long']
        }
    ]
});

module.exports = Parent.discriminator('Test', test);;
Run Code Online (Sandbox Code Playgroud)

这是我创建新文档的方法:

Test.findOrCreate({url: url}, function(err, model, created) {
    if (created) {
        model.array = whatever;
    }

    model.save(function(err) {
        if (err) {return res.status(422).json(err);}

        next();
    });
});
Run Code Online (Sandbox Code Playgroud)

这是更新:

Test.findByIdAndUpdate(id, …
Run Code Online (Sandbox Code Playgroud)

mongoose node.js

5
推荐指数
1
解决办法
4518
查看次数

Webpack /反应热重载重载整个页面?

可能一直都在问这个问题,但是我在阳光下尝试了所有方法,却找不到解决方案。

我创建了一个回购协议,以便更轻松地获取帮助。您可以克隆它,运行npm install,然后npm start:devhttp:// localhost:8080上看到一个快速的本地服务器。

它可以正常工作,并且当我更改文件(例如src/components/Note/Note.css)时,应用程序会重新加载。但是,我只想重新加载组件,而不是整个页面。我不确定自己在做什么错。任何帮助将不胜感激!

reactjs webpack react-hot-loader webpack-hmr

3
推荐指数
1
解决办法
2606
查看次数