【发布时间】:2019-07-06 00:53:40
【问题描述】:
我在mongoose中保存位置点时遇到了一个奇怪的问题。
const testSchema1 = new mongoose.Schema({
releasePoints: [{
type: [Number]
}]
}, {
timestamps: {
createdAt: 'created_at',
updatedAt: 'updated_at'
}
});
const testSchema2 = new mongoose.Schema({
releasePoints: [[Number]]
}, {
timestamps: {
createdAt: 'created_at',
updatedAt: 'updated_at'
}
});
当我使用testSchema2保存数据成功,但我使用testSchema1throw err:
validation failed: releasePoints: Cast to Array failed for value "[ [ 2.3635503,....
testSchema1 和 testSchema2 有什么区别?
可以在testSchema1 中添加验证吗?
例如:
const testSchema1 = new mongoose.Schema({
releasePoints: [{
type: [Number],
validate: (val) => val.length === 2
}]
}, {
timestamps: {
createdAt: 'created_at',
updatedAt: 'updated_at'
}
});
【问题讨论】:
-
我不明白你在寻找什么。您想向您的架构添加验证以验证数组长度吗?您需要解决演员阵容错误吗?或者您是否需要创建一个架构来包含经度和纬度数组?
-
您还可以添加您在示例中所做的插入查询吗?
标签: mongoose