我创建了一个架构,用于保存来自第三方API的数据。不幸的是,该API给出的名称有点差,我想为我的架构/数据库使用专有名称。
API响应示例: 我把响应缩短了很多。它有大约20个领域。
let apiResponse = {
id: {high:1, low:388},
username:"xyz",
addr: [{
fdn: "Street 123",
dq: "5534"
},{
fdn: "Street 456",
dq: "1102"
}]
}
我的架构如下所示:
let userSchema = mongoose.Schema({
account_id: {
high: {
type: Number,
required: true
},
low: {
type: Number,
required: true
}
},
username: {
type: String,
required: true,
index: true
},
addresses: [{
street: {
type: String,
required: true
},
zip: {
type: Number,
required: true
}
}],
})
我的问题:
答案 0 :(得分:1)
不确定您对此方法的看法,但您也可以将值附加到架构字段,稍后可以通过options对象引用它。
例如,我将别名添加为街道和zip的属性。
let userSchema = mongoose.Schema({
...
addresses: [{
street: {
type: String,
required: true,
**alias**: "fdn"
},
zip: {
type: Number,
required: true,
**alias**: "dq"
}
}],
})
然后可以通过mongoose引用。检查调试控制台中星号包围的字段是否有结构。
mongoose.models.**UserSchema**.schema.paths.**addresses.street**.options.alias
然后,您可以在循环中使用它来查找架构属性的其他名称。