gpt4 book ai didi

node.js - 在 Pug/Jade 中迭代未知的 JSON

转载 作者:太空宇宙 更新时间:2023-11-03 22:10:49 25 4
gpt4 key购买 nike

我正在努力使用 node/express 构建我的第一个 api,并尝试创建一个简单的 Jade View ,该 View 将在一堆不同的模型中渲染 JSON,所以我不想为每个模型创建不同的 View 型号我有。我只想迭代任何响应并将结果输出到表格中。有通用版本可以做到这一点吗?

这是我的 express 文件中的内容:

/*  Post a STATE and send to update.jade view*/

router.post('/', function(req, res, next) {
State.build(req.body).save()
.then(function(State){
res.render("update", {
title: "States Post",
data: State
});

})
});

/* GET all STATES and send to a update.jade view */

router.get('/', function(req, res, next) {
State.findAll().then(function(States){
res.render("update", {
title: "States Get All",
data: States
});
})
});

这是我目前在 Jade View 中拥有的内容:

extends layout
block content
h1= title
table
each value, index in data
tr
td= index
td= value

作为 get 调用的结果,我有:

States Get All

0 [object SequelizeInstance:State]

对于它吐出的帖子:

States Post

dataValues [object Object]
_previousDataValues [object Object]
_changed [object Object]
$modelOptions [object Object]
$options [object Object]
hasPrimaryKeys true
__eagerlyLoadedAssociations
isNewRecord false
_customGetters [object Object]
_customSetters [object Object]
validators [object Object]

(etc. it goes on...)

非常感谢任何帮助。我正在存储在 Postgres 数据库中并使用 Sequelize,如果有帮助的话。

最佳答案

您可以在sequelize模型的每个实例上使用toJSON()方法,该方法将返回一个带有key : value对的javascript对象,其中每个key 是先前定义的sequelize模型的属性

router.post('/', function(req, res, next) { 
State.build(req.body).save()
.then(function(State){
res.render("update", {
title: "States Post",
data: State.toJSON() // will return simple object
});

})
});

router.get('/', function(req, res, next) {
State.findAll().then(function(States){
res.render("update", {
title: "States Get All",
data: return States.map((state) => { return state.toJSON(); }); // this will create an array of simple objects
});
})
});
<小时/>

编辑

您还可以在 findAll() 方法中使用 { raw: true }。这将导致不创建任何模型实例。它将简单地从数据库返回指定的列,而不进行任何格式化。

If true, sequelize will not try to format the results of the query, or build an instance of a model from the result

关于node.js - 在 Pug/Jade 中迭代未知的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42287917/

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