나는 sportsname으로 필터링해야하는 응용 프로그램을 개발 중입니다. 나는 백도어에서 Node.js와 MongoDB를 사용하여 입니다.MongoDB의 콜렉션에서 문서를 가져 오는 중에 오류가 발생했습니다.
여기 내 코드입니다 : - 여기
router.route('/user/:_id/explore/:sportsname')
.get(function(req, res){
var query = Host.find();
if(req.params.sportsname){
query.where({sportsname:decodeURIComponent(req.params.sportsname)});
}
query.exec(function(err, explore){
if(err)
return next(err);
res.json(sportsname);
console.log(sportsname);
})
문서입니다. 나는 그것을 오류를주고 그 시간에 실행하고 때
[
{
"_id":"5460e2af4ee5216f17000061",
"maxplayer":"1",
"minplayer":"11",
"date":"10 August 2014",
"venue":"google",
"time":"Afternoon",
"sportsname":"Lawn Tennis",
"__v":0
},
{
"_id":"5460ff1b4ee5216f17000065",
"maxplayer":"0",
"minplayer":"9",
"date":"10 October 2014",
"venue":"google",
"time":"Early Morning",
"sportsname":"Cricket",
"__v":0
},
{
"_id":"5461a4014ee5216f17000089",
"maxplayer":"4",
"minplayer":"29",
"date":"13 December 2014",
"venue":"google",
"time":"Afternoon",
"sportsname":"Lawn Tennis",
"__v":0
}
]
sportsname
하여 사용자를 검색 할. 오류가 아래와 같습니다 : - :req.params.sportsname
가있는 경우 확인하는 것이
router.get('/user/:_id/explore/:sportsname', function(req, res, next) {
return Host.find({ sportsname: req.params.sportsname }, function(err, users) {
if (err) return next(err);
console.log(users);
return res.json(users);
});
});
주의를 필요가 없습니다
TypeError: path must be a string at Query.where
(/node/node-api-master/node_modules/mongoose/lib/query.js:593:11)
at Object.handle (/node/node-api-master/server.js:202:19) at next_layer
(/node/node-api-master/node_modules/express/lib/router/route.js:103:13)
at Route.dispatch (/node/node-api-master/node_modules/express/lib/router/route.js:107:5)
at /node/node-api-master/node_modules/express/lib/router/index.js:195:24
at param (/node/node-api-master/node_modules/express/lib/router/index.js:268:14)
at param (/node/node-api-master/node_modules/express/lib/router/index.js:280:16)
at param (/node/node-api-master/node_modules/express/lib/router/index.js:280:16)
at Function.proto.process_params
(/node/node-api-master/node_modules/express/lib/router/index.js:296:3)
at next (/node/node-api-master/node_modules/express/lib/router/index.js:189:19)
질문을 편집하여'Host' 스키마 정의를 표시 할 수 있습니까? – JohnnyHK
이것은 코드를 검토하고 경고 – CesarTrigo