我不知道如何使用 mysql/node 正确存储对象数组
I don't know how to store an array of object with mysql/node correctly
我尝试创建一个 table 可以在其中注册项目列表。实际上一切正常,除了数组对象存储。
我在上面试了很多东西,
我的 sql- 上的 Blob 格式,但我无法使用此方法使用 .JSON()(无法识别 .JSON())将数据返回到前面(nuxt)。 Convert Buffer Data
我试图将其存储为 JSON 格式,但 mysql 无法识别它。
现在我把它放在 sql 上的 TEXT 格式(但是当我回调数据时,我只得到 [object Object]- 无法在前面或后面通过它。
我想存储类似
的东西
[
{"quantity":"2","content":
{"id":21,"reference":"LEG080276","designation":"cadre saillie mozaic blanc 2x6/8 modules 2x3 postes - prof 50mm","description":"sens de montage (horizontal) nombre de modules (12)"}
},
{"quantity":"2","content":
{"id":6,"reference":"LEG080260L","designation":"voyant 2 modules 0.03w pour support batibox 1 poste ","description":null}
}
]
这是node.js中的调用路由-列表(对象数组)应该存储在content
中
router.post('/list', function getApi(req, res) {
const {user_id, to_uuid, content, message, list_name, status}= req.body;
db.query(`INSERT INTO list (user_id, to_uuid, content, message, list_name, status) VALUES (?,?,?,?,?,?)`, [user_id, to_uuid, content, message, list_name, status], (err, results) => {
if (err) {
res.status(500).send(`Erreur lors de l'enregistrement de la liste`);
console.log(err);
}
res.status(200).send('Liste Enregistrée');
});
});
有人有想法吗?
提前致谢
所以我成功了!!!
我在 mysql workbench!
中将对象数组(已字符串化)注册为文本格式
成功了!!
this.$axios.post('http://localhost:3000/api/list/', {
'user_id': this.$auth.user[0].user_id,
'to_uuid': this.$store.state.list.to_user.user_id,
'content': JSON.stringify(this.$store.state.list.finalList),
'message': this.message,
'list_name': this.name,
'status': "en attente"
})
这部分是当我 post content
上的字符串化数组
async created(){
const listReceived = await this.$axios.$get(`/api/listReceived/${this.$auth.user[0].user_id}`)
const usersList = await this.$axios.$get("/api/users")
listReceived.forEach(element => {
const userdata=usersList.filter((post)=>post.user_id===element.user_id)
const userSelected={
listId:element.list_id,
listName:element.list_name,
message:element.message,
status:element.status,
content: JSON.parse(element.content),
nickname:userdata[0].nickname
}
this.finalList.push(userSelected)
})
这部分是当我得到字符串化数组时 - 我 JSON.parse 它在内容
我尝试创建一个 table 可以在其中注册项目列表。实际上一切正常,除了数组对象存储。
我在上面试了很多东西, 我的 sql- 上的 Blob 格式,但我无法使用此方法使用 .JSON()(无法识别 .JSON())将数据返回到前面(nuxt)。 Convert Buffer Data
我试图将其存储为 JSON 格式,但 mysql 无法识别它。
现在我把它放在 sql 上的 TEXT 格式(但是当我回调数据时,我只得到 [object Object]- 无法在前面或后面通过它。
我想存储类似
的东西[
{"quantity":"2","content":
{"id":21,"reference":"LEG080276","designation":"cadre saillie mozaic blanc 2x6/8 modules 2x3 postes - prof 50mm","description":"sens de montage (horizontal) nombre de modules (12)"}
},
{"quantity":"2","content":
{"id":6,"reference":"LEG080260L","designation":"voyant 2 modules 0.03w pour support batibox 1 poste ","description":null}
}
]
这是node.js中的调用路由-列表(对象数组)应该存储在content
中router.post('/list', function getApi(req, res) {
const {user_id, to_uuid, content, message, list_name, status}= req.body;
db.query(`INSERT INTO list (user_id, to_uuid, content, message, list_name, status) VALUES (?,?,?,?,?,?)`, [user_id, to_uuid, content, message, list_name, status], (err, results) => {
if (err) {
res.status(500).send(`Erreur lors de l'enregistrement de la liste`);
console.log(err);
}
res.status(200).send('Liste Enregistrée');
});
});
有人有想法吗?
提前致谢
所以我成功了!!!
我在 mysql workbench!
中将对象数组(已字符串化)注册为文本格式成功了!!
this.$axios.post('http://localhost:3000/api/list/', {
'user_id': this.$auth.user[0].user_id,
'to_uuid': this.$store.state.list.to_user.user_id,
'content': JSON.stringify(this.$store.state.list.finalList),
'message': this.message,
'list_name': this.name,
'status': "en attente"
})
这部分是当我 post content
上的字符串化数组async created(){
const listReceived = await this.$axios.$get(`/api/listReceived/${this.$auth.user[0].user_id}`)
const usersList = await this.$axios.$get("/api/users")
listReceived.forEach(element => {
const userdata=usersList.filter((post)=>post.user_id===element.user_id)
const userSelected={
listId:element.list_id,
listName:element.list_name,
message:element.message,
status:element.status,
content: JSON.parse(element.content),
nickname:userdata[0].nickname
}
this.finalList.push(userSelected)
})
这部分是当我得到字符串化数组时 - 我 JSON.parse 它在内容