我是否缺少允许项作为带有参数的对象登录的内容,但当我try 访问该参数时,它是未定义的?
到目前为止,我一直在try :
-
console.log(item)
=>{ title: "foo", content: "bar" }
, that's fine -
console.log(typeof item)
=> object -
console.log(item.title)
=> "undefined"
我将包括一些上下文,以防它与问题相关.
var TextController = function(myCollection) {
this.myCollection = myCollection
}
TextController.prototype.list = function(req, res, next) {
this.myCollection.find({}).exec(function(err, doc) {
var set = new Set([])
doc.forEach(function(item) {
console.log(item) // Here item shows the parameter
console.log(item.title) // "undefined"
set.add(item.title)
})
res.json(set.get());
})
}
根据建议,我在这一行之前删除了debugger
,以通过 node repl调试器判断实际是什么项.这就是我发现的:http://hastebin.com/qatireweni.sm
从这个开始,我试了console.log(item._doc.title)
次,效果很好..所以,这看起来更像是一个mongoose 问题.
有些问题与此类似,但它们似乎与对象的"此"访问有关,或者它们试图将对象置于函数范围之外.在这种情况下,我不认为我在做这两件事,但如果我错了,请告诉我.谢谢