![](/img/trans.png)
[英]NodeJS, AngularJS and Mongo creating and updating document returning wrong data
[英]Creating a search endpoint in Mongo and NodeJS
我基本上一直在自學一個 MERN CRUD 項目,但到目前為止還沒有在前端做任何事情。 我已經能夠讓 API 在所有基本的 crud 功能上正常工作。 我一直在努力的事情是構建一個端點,允許某人搜索 MongoDB 並返回任何匹配項。
我一直在嘗試傳遞一個密鑰,該密鑰將成為 HTTP GET 請求的一部分,並將其與 Mongoose 一起使用,查找 function,但我沒有得到任何結果。 我將展示我的工作“findById”function 的樣子:
exports.findOne = (req, res) => {
App.findById(req.params.noteId)
.then((data) => {
if (!data) {
return res.status(404).send({
note: "Note not found with id " + req.params.noteId,
});
}
res.send(data);
})
.catch((err) => {
if (err.kind === "ObjectId") {
return res.status(404).send({
note: "Note not found with id " + req.params.noteId,
});
}
return res.status(500).send({
note: "Error retrieving note with id " + req.params.noteId,
});
});
};
所以我嘗試 model 搜索 function 基於:
exports.search = async (req, res) => {
App.find(req.params.key)
.then((data) => {
if (!data) {
return res.status(404).send({
note: "Note not found with search query: " + req.params.key,
});
}
res.send(data);
})}
我得到的錯誤是“find() 的參數“過濾器”必須是一個對象”任何想法表示贊賞,非常感謝。
錯誤“find() 的‘filter’參數必須是一個對象”表示您將無效值傳遞給 find 方法。 在這種情況下,您將 req.params.key 作為參數傳遞,但 find 方法期望接收過濾器 object 作為參數。
要修復此錯誤,只需將有效過濾器 object 傳遞給查找方法即可。 例如,如果要搜索字段“name”的值為“John”的所有文檔,代碼為:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.