Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Kelas Premium!
Belajar Membuat API dengan NodeJS
Gunakan kupon "skillbaru" untuk diskon 100 ribu!
Search pada mongodb
mau nanya. saya membuat web menggunakan nodejs express mongodb. saya mau membuat fitur pencarian. kalo mau mengambil data seperti "select * from topic where name like "%$key%" gimana yah kalo di mongodb ? saya sudah coba menggunakan /key/ tapi kok tidak jalan yah ?
router.get('/add/search', (req, res) => {
var key = req.query.key;
Topic.find({ name: /key/ }, (err, topic) => {
var data = [];
for(i=0; i<topic.length; i++){
data.push(topic[i].name);
}
res.end(JSON.stringify(data));
})
})
1 Jawaban:
Jawaban Terpilih
bikin fungsi dulu seperti ini <pre> function escapeRegex(text) { return text.replace(/[-[]{}()*+?.,\^$|#\s]/g, "\$&"); }; </pre> update routenya jadi seperti ini
<pre> router.get('/add/search', (req, res) => { var key = req.query.key; const regex = new RegExp(escapeRegex(key), 'gi'); Topic.find({ name: regex }, (err, topic) => { var data = []; for(i=0; i<topic.length; i++){ data.push(topic[i].name); } res.end(JSON.stringify(data)); }) }) </pre>