2012-10-09 19 views
14

Próbuję iterować dokument JSON przy użyciu JADE.Używanie Jade do iterowania JSON

mój serwer (node.js uruchomione + wyrazić) jest w następujący sposób na żądanie .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'}); 
    }); 
    }); 
}); 

i to właśnie ona jest świadczenie na rzecz klienta.

[{"_id":"50738ebbe3d87c6beaddb6f2","name":"tv","category":"tech","cost":"30"}] 

Czytałem nad dokumentacją jade do iteracji tablicy i myślałem, że będzie taka sama dla JSON, ale to nie działa. Po prostu wyświetla puste miejsce. Gdy próbuję to, wyświetli dokument JSON. Ale gdy próbuję tego, jest wyświetlany pusty obszar. Kiedy powinno być wyświetlane to "tv". Jeśli ktoś mógłby mi pomóc zrozumieć iterowanie dokumentów JSON, które byłyby niesamowite.

Dziękujemy!

Odpowiedz

28

W kodzie nie są iteracja tablicy results, aby zrobić tak należy zrobić coś takiego:

for result in results 
    p #{result.name} 
+1

zapomniałem to w ten przykładowy kod dałem. Ale kiedy zabrałem JSON.stringify() po stronie serwera, zadziałało. –

+5

Dziękuję Jezu, w końcu, szukałem godzin na ten mały kawałek kodu i nawet rozważałem malowanie "JADE SUCKS" po stronie budynku w krwi kozy. Jeśli chcesz innego znacznika wyboru, http://stackoverflow.com/questions/20485595/how-do-i-send-on-object-from-mongodb-to-jade. DZIĘKUJĘ CI. – Squirrl

Powiązane problemy