Javascript ExpressJS:奇怪的字符串比较
我正在这样做:Javascript ExpressJS:奇怪的字符串比较,javascript,string,node.js,express,mongoose,Javascript,String,Node.js,Express,Mongoose,我正在这样做: res.jsonp({ userId: user._id, spotUserId: spot.user._id, condition: (user._id === spot.user._id) }); 结果是: { "userId": "551192836bff030fb657777c", "spotUserId": "551192836bff030fb657777c", "condition": false }
res.jsonp({
userId: user._id,
spotUserId: spot.user._id,
condition: (user._id === spot.user._id)
});
结果是:
{
"userId": "551192836bff030fb657777c",
"spotUserId": "551192836bff030fb657777c",
"condition": false
}
我不明白为什么这个条件是假的。。。救救我 好的,我解决了这个问题 在ExpressJS中,compare Mongoose ObjectsID是.id而不是\u id 例如:
res.jsonp({
userId: user._id,
spotUserId: spot.user._id,
condition: (user.id === spot.user.id)
});
结果:
{
"userId": "551192836bff030fb657777c",
"spotUserId": "551192836bff030fb657777c",
"condition": true
}
尝试
==
运算符,它应该可以工作。与==运算符的结果相同。。。我认为问题在于Moongose中的objectid是比较的。id和not。_id:)我以前不知道!