title: mongodb nodejs - converting circular structure
body: <p>I have some code that pulls all documents from a collection and puts it onto a webpage. a simplified version looks like this:</p>
  
  <pre><code>var mongodb = require("mongodb"),
      express = require("express"),
      mongoServer = new mongodb.Server('localhost', 27017),
      dbConnector = new mongodb.Db('systemMonitor', mongoServer),
      db;
  
  var app = new express();
  
  app.get('/drives', function(req, res) {
    db.collection('driveInfo', function(err, collection) {
      if (err) throw err;
      collection.find({}, function(err, documents) {
        res.send(documents);
      });
    });
  });
  
  dbConnector.open(function(err, opendb) {
    if (err) throw err;
    db = opendb;
    app.listen(80);
  });
  </code></pre>
  
  <p>I have a driveInfo collection which contains a long list of documents. Each document contains nested objects. What I would like to do, is whenever someone visits /drives in their browser, to print the entire collection as a json object so that I can grab everything with jquery later (beginnings of an api)</p>
  
  <p>However, I get an error saying "TypeError: Converting circular structure to JSON". The error on the page points to this line of code:</p>
  
  <pre><code>collection.find({}, function(err, documents) {
    res.send(documents);
  });
  </code></pre>
  
  <p>I'm unsure what the problem is, or where the self-reference is. Am I not querying the collection properly?</p>