gpt4 book ai didi

javascript - `new mongoose.Schema` 每次都使用相同的默认值

转载 作者:行者123 更新时间:2023-11-30 11:05:47 26 4
gpt4 key购买 nike

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

这是模型:

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 中的内容: enter image description here

知道哪里出了问题吗?

最佳答案

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

相反,传入函数(不在其后放置()):

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

默认可以是函数per the docs (例如,那里的一个示例使用 default: Date.now 为日期字段提供默认值)。

关于javascript - `new mongoose.Schema` 每次都使用相同的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55664330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com