我正在MEAN堆栈中设计一个小应用程序(Mongo + Express.js + Angular4 + Node.js),用于简单的应用程序。
我正在设计DB中的小型收藏用户,样本记录/文档看起来像
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address":"12 Bedford St",
"city":"Newport"
"state":"MA"
"active":true,
"mobile":"7345980000",
"car":"Honda City 2016"
}
这里我们有名字,年龄,城市等关键字,也需要在UI中显示。 UI显示名称将类似于
键:名字 - 显示名称"名字"
密钥:地址 - 显示名称"地址"
如上图所示,显示名称为橙色,粗体,下划线。这些与键不同,我想在数据库中存储显示名称以及键,以便我可以在运行时提取。
在MongoDB中存储密钥和显示名称的正确策略是什么,以便我可以读取相同内容并在UI(Angular)中正确显示?
需要最佳做法和建议。
这会有用吗?
{
"personSchema": [
{
"key": "firstName",
"displayName": "First Name",
"internalCode": "101",
"order": "001"
},
{
"key": "lastName",
"displayName": "Last Name",
"internalCode": "201",
"order": "002"
},
{
"key": "age",
"displayName": "Age",
"internalCode": "301",
"order": "003"
},
{
"key": "address",
"displayName": "Postal Address",
"internalCode": "401",
"order": "004"
},
{
"key": "city",
"displayName": "City",
"internalCode": "501",
"order": "005"
},
{
"key": "state",
"displayName": "State",
"internalCode": "601",
"order": "006"
},
{
"key": "active",
"displayName": "Active",
"internalCode": "701",
"order": "007"
},
{
"key": "mobile",
"displayName": "Mobile Number",
"internalCode": "801",
"order": "008"
},
{
"key": "car",
"displayName": "Car Make",
"internalCode": "901",
"order": "001"
}
]
}
答案 0 :(得分:0)
你可以像这样制作你的数据....所以你可以在任何地方使用显示名称,而不会在文档中复制数据。
{
"name": {
"firstName" : "John",
"lastName": "Smith"
},
"displayName": {
"firstName" : "abc",
"lastName": "xyz"
},
"age": 25,
"address":"12 Bedford St",
"city":"Newport"
"state":"MA"
"active":true,
"mobile":"7345980000",
"car":"Honda City 2016"
}