我嘗試從MongoDB過濾我的結果。我正在使用Express。這裏是我的console.logs:Express + MongoDB - 請求對象
- req.query.filters從網址:http://localhost:3000/test?filters=%7Bpersonalbest%3A%7B%27%24gt%27%3A%27170%27%7D%2Cname%3A%7B%27%24gt%27%3A%27M%27%7D%7D
- 我所提出的目的是測試是否與我的數據庫工作以及它
- {personalbest:{'$gt':'170'},name:{'$gt':'M'}}
- { personalbest: { '$gt': '170' }, name: { '$gt': 'M' } }
代碼:
var filters = req.query.filters
db.collection('skijumper').find(filters).toArray()
當然,我得到這個錯誤:
MongoError: query selector must be an object
將此req.query轉換爲對象的最佳方法是什麼? 感謝
任何東西'req.params'或'req.query'簡直就是一個 「串」。實際上有'bodyParser'中間件用於將'req.body'內容製作成實際的對象。您可能應該在'body'中發送對象。但基本上''JSON.parse'「字符串」到「對象」。這意味着你可能需要在urlencoding中「引用」。因此,在請求主體中發送似乎更容易。 –
謝謝,感謝您的幫助! –