Postingan lainnya
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>