Organizational Research By

Surprising Reserch 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 26, 2015 by deven.bendale
0 votes
17 views



Related Hot Questions



Government Jobs Opening


...