Anda mungkin ingin menggunakan find_one()
alih-alih find()
yang mengembalikan kursor ke dokumen yang cocok dengan kriteria. find_one()
mengembalikan satu dokumen yang kemudian dapat digunakan dalam kamus, sebagai ganti kursor:
example = mongo.db.example
doc = example.find_one()
details = { 'name' : doc['name'], 'lastname' : doc['lastname'] }
return render_template('blabla.html', details=details)
Atau
example = mongo.db.example
details = example.find_one({}, {'name':1, 'lastname':1})
return render_template('blabla.html', details=details)
Dan template Anda akan menjadi
<tr>
<td>{{ details['name'] }}</td>
<td>{{ details['lastname'] }}</td>
</tr>
Jika Anda ingin mengulangi seluruh koleksi dan mengembalikan daftar jika dokumen hanya dengan name
dan lastname
bidang, maka Anda harus menggunakan find()
method.Jika Anda memiliki kumpulan data yang relatif kecil, kode berikut akan mengubah seluruh kumpulan hasil (Kursor) menjadi daftar (semuanya ditarik ke dalam memori):
example = mongo.db.example
details = list(example.find({}, {'name': 1, 'lastname': 1}))
return render_template('blabla.html', details=details)
Kemudian ulangi daftar di template Anda
{% for doc in details}
<tr>
<td>{{ doc['name'] }}</td>
<td>{{ doc['lastname'] }}</td>
</tr>
{% endfor %}