Misschien wilt u find_one()
in plaats van find()
die een cursor terugbrengt naar de documenten die aan de criteria voldoen. find_one()
geeft een enkel document terug dat vervolgens in het woordenboek kan worden gebruikt in plaats van een cursor:
example = mongo.db.example
doc = example.find_one()
details = { 'name' : doc['name'], 'lastname' : doc['lastname'] }
return render_template('blabla.html', details=details)
Of
example = mongo.db.example
details = example.find_one({}, {'name':1, 'lastname':1})
return render_template('blabla.html', details=details)
En uw sjabloon wordt
<tr>
<td>{{ details['name'] }}</td>
<td>{{ details['lastname'] }}</td>
</tr>
Als u de hele verzameling wilt herhalen en een lijst wilt retourneren als documenten met alleen de name
en lastname
velden, moet u de find()
method.Als je een relatief kleine dataset hebt, zal de volgende code de volledige resultatenset (Cursor) omzetten in een lijst (alles wordt in het geheugen getrokken):
example = mongo.db.example
details = list(example.find({}, {'name': 1, 'lastname': 1}))
return render_template('blabla.html', details=details)
Herhaal vervolgens de lijst in uw sjabloon
{% for doc in details}
<tr>
<td>{{ doc['name'] }}</td>
<td>{{ doc['lastname'] }}</td>
</tr>
{% endfor %}