Cannot use 'in' operator to search for '_id' in

北战南征 提交于 2019-12-22 09:19:30

问题


I'm trying to get an existing user document using mongoose with express but I only get this:

/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)

Is there any known fix for that? Thanks.


回答1:


This error is not specific to Mongoose; it would show if obj is not an object, but a string for instance:

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

Assuming that it's not a Mongoose issue, you'd be looking somewhere here:

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



回答2:


Incidentally, you will get the same error from the dojo parser if you try to load an AMD module and you use require instead of define to define the module.



来源:https://stackoverflow.com/questions/14617367/cannot-use-in-operator-to-search-for-id-in

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!