I have a series of models:
returns = {}
cnt = 0
data_models = [Item, Product, Specs] # these are mongoose Models, previously defined
for d in data_models
console.log "Getting objects for " +d.modelName
d.find((err, objects) ->
console.log "Getting results for " d.modelName
name = d.modelName
returns.name = objects
cnt += 1
if cnt is data_models.length
console.log "All data retrieved"
res.send(returns)
In the first log, I correctly get
Getting objects for Item
Getting objects for Product
Getting objects for Specs
but inside the callback, I get
Getting results for Specs
Getting results for Specs
Getting results for Specs
So it seems the reference over the callback is not kept during the call?
What I am trying to do is to get the (filtered) objects of all three elements, and only when I have them all, I return an object to the client.