首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次“新mongoose.Schema`”都使用相同的默认值

每次“新mongoose.Schema`”都使用相同的默认值
EN

Stack Overflow用户
提问于 2019-04-13 10:12:05
回答 1查看 295关注 0票数 2

我在new mongoose.Schema中使用new mongoose.Schema时遇到了问题。我使用它为设备生成唯一的密钥,并使用Node.js将其保存到Node.js中。问题是它每次都使用相同的UUID。

这就是模式:

代码语言:javascript
复制
const mongoose = require('mongoose');
const uuid = require('uuid/v4');

const DeviceSchema = new mongoose.Schema({
    deviceNumberHash: {
        type: String,
        required: true
    },
    receivingKey: {
        type: String,
        default: uuid()
    }...
});

这就是在MongoDb中保存的内容:

你知道怎么回事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-13 10:15:57

您正在调用 uuid并将其返回值作为默认使用。

相反,传入函数(通过不将()放在后面):

代码语言:javascript
复制
const DeviceSchema = new mongoose.Schema({
    deviceNumberHash: {
        type: String,
        required: true
    },
    receivingKey: {
        type: String,
        default: uuid // <========== No ()
    }...
});

默认值可以是函数按照医生的说法 (例如,使用default: Date.now为日期字段提供默认值)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55664330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档