Col*_*ire 14 json mongodb node.js express pug
我正在尝试使用JADE迭代JSON文档.
我的服务器(运行node.js + express)在.get()请求上执行以下操作,
app.get('/search/', function(req,res){
// Parse the query
var dbQuery = url.parse(req.url, true).query;
var product = dbQuery.product;
var category = dbQuery.category;
console.log('Searching for: ' + product + ' in ' + category);
//Mongo DB setup then query
var result;
var server = new mongodb.Server('23.23.129.158', 27017, {});
new mongodb.Db('militaryListDB', server, {}).open(function(err, client){
if(err) throw err;
var collection = new mongodb.Collection(client, 'products');
collection.find({}).toArray(function(err, results){
console.log(results);
console.log(JSON.stringify(results));
res.render('results', {result: JSON.stringify(results), title: 'Test'});
});
});
});
Run Code Online (Sandbox Code Playgroud)
这就是它向客户呈现的内容.
[{"_id":"50738ebbe3d87c6beaddb6f2","name":"tv","category":"tech","cost":"30"}]
Run Code Online (Sandbox Code Playgroud)
我已经阅读了用于迭代数组的jade文档,我认为它对于JSON来说是相同的,但它不起作用.它只是显示一个空白区域.当我试试这个,
extends layout
block content
div#wrapper
p #{results}
Run Code Online (Sandbox Code Playgroud)
它将显示JSON文档.但是当我尝试这个时,
extends layout
block content
div#wrapper
p #{results.name}
Run Code Online (Sandbox Code Playgroud)
它显示一个空格.什么时候应该显示是"电视".如果有人可以帮助我理解迭代JSON文档那将是非常棒的.
谢谢!
c0d*_*nja 29
在你的代码中你没有遍历results数组,所以你应该做这样的事情:
for result in results
p #{result.name}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28700 次 |
| 最近记录: |