无法使用'in'运算符来search中的'_id'

我正在尝试使用mongoose与快速获取现有的用户文件,但我只得到这个:

/webroot/api.domain.com/production/node_modules/mongoose/lib/document.js:162 if (obj && '_id' in obj) continue; ^ TypeError: Cannot use 'in' operator to search for '_id' in Account at model.Document._buildDoc (/webroot/api.domain.com/production/node_modules/mongoose/lib/document.js:162:27) at model.Document (/webroot/api.domain.com/production/node_modules/mongoose/lib/document.js:67:20) at model.Model (/webroot/api.domain.com/production/node_modules/mongoose/lib/model.js:33:12) at new model (/webroot/api.domain.com/production/node_modules/mongoose/lib/model.js:1663:11) at Object.model (/webroot/api.domain.com/production/node_modules/mongoose/lib/model.js:1662:14) at Object.findOrCreateOneForTwitter (/webroot/api.domain.com/production/models/account.coffee:60:17) at module.exports.callback.error (/webroot/api.domain.com/production/endpoints/twitter.coffee:67:34) at Twitter.get (/webroot/api.domain.com/production/node_modules/ntwitter/lib/twitter.js:85:7) at passBackControl (/webroot/api.domain.com/production/node_modules/oauth/lib/oauth.js:361:11) at IncomingMessage.exports.OAuth._performSecureRequest.request.on.callbackCalled (/webroot/api.domain.com/production/node_modules/oauth/lib/oauth.js:380:9) 

有没有已知的解决办法? 谢谢。

这个错误不是特定于Mongoose的; 它会显示如果obj不是一个对象,而是一个string,例如:

 var obj = 'Account'; 'id' in obj; // TypeError: Cannot use 'in' operator to search for 'id' in Account 

假设这不是一个mongoose问题,你会在这里找一个地方:

 at Object.findOrCreateOneForTwitter (/webroot/api.domain.com/production/models/account.coffee:60:17) 

顺便说一句,如果您尝试加载AMD模块,并且使用require而不是define来定义模块,则会从dojoparsing器中得到同样的错误。