Organizational Research By

Surprising Reserch Topic

Experts Most Trusted Topic


mongoose mongodb result fields appear undefined in javascript


mongoose mongodb result fields appear undefined in javascript  using -'javascript,mongodb,mongoose,javascript-objects,function-prototypes'

Is there something that I'm missing that would allow item to log as an object with a parameter, but when I try to access that parameter, it's undefined?

What I've tried so far:


console.log(item) => { title: "foo", content: "bar" } , that's fine
console.log(typeof item) => object
console.log(item.title) => "undefined"


I'll include some of the context just in case it's relevant to the problem.

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());
  })
}


Based on suggestion I dropped debugger before this line to check what item actually is via the node repl debugger.  This is what I found : http://hastebin.com/qatireweni.sm

From this I tried console.log(item._doc.title) and it works just fine.. So, this seems more like a mongoose question now than anything.

There are questions similar to this, but they seem to be related to 'this' accessing of objects or they're trying to get the object outside the scope of the function.  In this case, I don't think I'm doing either of those, but inform me if I'm wrong. Thanks
    

asked Sep 24, 2015 by rajesh
0 votes
2 views



Related Hot Questions



Walkin Jobs Opening



Government Jobs Opening


...