У меня есть URL со строкой запроса, как показано: http://localhost:3000/books?title=Java
В моем методе Express GET я пытаюсь сгенерировать объект фильтра-запроса, используя query-string(title=Java here)
, как показано ниже
app.get('/', function (req, res, next) {
for (var prop in req.query) {
if (req.query.hasOwnProperty(prop)) {
var filterObject = {};
if (req.query.title != "") {
filterObject["title"] = req.query.title;
}
const query = Book.find(filterObject);
query.exec(function (err, someValue) {
if (err) return next(err);
res.send(someValue);
});
}
}
})
Сценарии при замене: const query = Book.find(filterObject);
i) const query = Book.find({"title":"Java"})
, работает нормально
ii) const query = Book.find(filterObject)
, возвращает пустой массив
iii)const query = Book.find(JSON.stringify(filterObject))
, бросает ObjectParameterError error
Я использую версию Mongoose: ^5.3.1
.