Strange problem here. I'm running Node/Express/Mongoose/Leaflet. I pull an array of locations from my db, and once the callback is initiated, I iterate over those locations to find a bunch of string passages that deals with each location. I then try to append the array of passages to each location object, and then append the locations array to a GeoJSON FeatureCollection.

```
Location.find({}, { _id: 0 }, function (err, locations) {
    if (err) {
        console.log('DB Error loading all locations');
    res.redirect('/');
} else {
    var num = 0;
    console.log("Beginning finding all passages");
    locations.forEach(function (location) {
    num++;
    console.log("Looking up a location");
    Passage.find({"placekey": location.properties.placekey}, function (err, passages) {
        if (err) {
            console.log('DB Error finding passage for: ' + location.properties.placekey);
        } else {
            console.log("Passage was found!");
            location.properties.passages = passages[0]; //take first passage
            num--;
        }
        if (num === 0) {
            console.log("All passages were found!");
            var featureCollection = {
                "type": "FeatureCollection",
                "features": locations
            };
            console.log(featureCollection);
            console.log(featureCollection.features[0].properties);
            console.log(featureCollection.features[0].properties.passages);
            res.json(featureCollection);
            console.log("JSON sent over!");
        }
    });
});

```

Logging the featureCollection gets me my featureCollection without any passages: 

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "num_books": 62,
        "Age": "Built 1078",
        "ID": "",
        "num_mentions": 325,
        "Place": "The Tower",
        "placekey": "TheTower",
        "GeocodeNotes": "",
        "Notes": "Built on the site of Roman fortifications, the central part of the Tower, known as the White Tower, was built in 1078 by William the Conqueror. Subsequent rings of fortification were added later. It was used as a royal residence as well as a prison and place of execution until Elizabethan times. England's child king, Edward V, and his brother were murdered in the Tower in 1483 supposedly by their uncle, Richard III.",
        "Class": "n/a",
        "Type": "Landmark"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -0.076111,
          51.508056
        ]
      }
    },
   // more objects

```

No passages property.

However, when I use console.log(featureCollection.features[0].properties.passages), I get the first passage: 

```
 {
  "_id": "51deebdbb2b5de1b8b6d7da1",
  "index": 27100,
  "bookid": 1,
  "author": "Ainsworth, William",
  "place": "The Tower",
  "placekey": "TheTower",
  "query_ok": true,
  "year": 1839,
  "corpus": "Chadwyck",
  "fn": "/Volumes/LilaData1/Plain2/Chadwyck/lilaBookId_00149.txt",
  "context_a": "The course of the carpenter's meditations was here...
  //more features
}

```

Moreover, using (if 'passages' in featureCollection.features[0].properties) gives me true. In fact, I can condition sending a JSON response from the server to that, and my featureCollection without passages will be sent...

Sorry for the long-winded post, but I'm really going crazy over this. Any ideas? 

Thank you! :)