Saya pikir Anda benar bahwa memeriksa karakter pertama dan terakhir adalah tanda kutip mungkin paling mudah. Namun luwak sendiri tidak bisa melakukan ini. Saya sarankan menyiapkan kueri sebelumnya dan juga memilih temukan yang sesuai metode.
Kita juga dapat menggunakan $regex
operator untuk melakukan ekspresi reguler yang diberikan terhadap properti 'kata kunci' dari setiap dokumen dalam koleksi.
var userInput = '"Apple"';
var term = userInput.trim();
var caseInsensitive = true; // = some user input?
var isExactTerm = (function() {
var firstChar = term[0];
var lastChar = term[term.length - 1];
return (firstChar === '"' && lastChar === '"');
}();
if(isExactTerm) {
// Remove quotes from the query
term = term.substr(1, str.length - 1);
}
var method = (isExactTerm) ? 'findOne': 'find';
var regexFlags = (caseInsensitive) ? 'i' : '';
var query = (isExactTerm) ? term : {$regex: new RegExp(term, regexFlags)};
Model[method]({
keyword: query
}).exec().then(function(result) {
// do stuff with `result`
}, function(err) {
// handle `err`
});