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