mongodb nodejs - converting circular structure

Simon

I have some code that pulls all documents from a collection and puts it onto a webpage. a simplified version looks like this:

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

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)

However, I get an error saying "TypeError: Converting circular structure to JSON". The error on the page points to this line of code:

collection.find({}, function(err, documents) {
  res.send(documents);
});

I'm unsure what the problem is, or where the self-reference is. Am I not querying the collection properly?

Faris Zacina

Not sure what version of the API you are using, but i think that your syntax might be wrong looking at the API spec:

http://docs.mongodb.org/manual/reference/method/db.collection.find/

This is the declaration:

db.collection.find(<criteria>, <projection>)

And you are definitely misusing the projection parameter. Passing a callback like you are doing seems to return the db object in the result, which is causing the circular error during JSON serialization in express.

The correct code for the find all operation should be something like:

collection.find({}).toArray(function(error, documents) {
    if (err) throw error;

    res.send(documents);
});

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

TypeError: Converting circular structure to JSON in nodejs

Nodejs express Converting circular structure to JSON

How do I solve "TypeError: Converting circular structure to JSON" in NodeJS

MongoDB and Express: Type Error: Converting Circular structure to JSON

TypeError: Converting circular structure to JSON in retrieving html string from mongodb

Doing a proper MongoDB Query (TypeError: Converting circular structure to JSON)

Getting error "Converting circular structure to JSON" while working with express,mongodb

Converting circular structure to JSON in window

Converting circular structure to JSON Firebase

Error: Converting circular structure to JSON

Sequelize: TypeError: Converting circular structure to JSON

GraphCool TypeError: Converting circular structure to JSON

"TypeError: Converting circular structure to JSON" with GET request

"TypeError: Converting circular structure to JSON" with GET request

Converting circular structure to JSON at JSON.stringify ()

Elliptic : TypeError : Converting circular structure to JSON

Axios TypeError: Converting circular structure to JSON

express & sequalize Converting circular structure to JSON

Angular - TypeError: Converting circular structure to JSON

avoiding TypeError: Converting circular structure to JSON

Converting circular structure to JSON, can't see anything circular

MongoDB in NodeJS Class Structure

Error Converting Circular Structure to JSON...take 2

Reading fixture is throwing error TypeError: Converting circular structure to JSON

how to solve (Uncaught TypeError: Converting circular structure to JSON)

Moving code to an exported function results in TypeError: Converting circular structure to JSON

AWS Cognito - Encountering Error Converting Circular Structure to JSON

[Vue warn]: Error in render: "TypeError: Converting circular structure to JSON

Express Middleware: ERROR: TypeError: Converting circular structure to JSON

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  3. 3

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  4. 4

    pump.io port in URL

  5. 5

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

  9. 9

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  10. 10

    How to remove the extra space from right in a webview?

  11. 11

    java.lang.NullPointerException: Cannot read the array length because "<local3>" is null

  12. 12

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  13. 13

    flutter: dropdown item programmatically unselect problem

  14. 14

    How to use merge windows unallocated space into Ubuntu using GParted?

  15. 15

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  16. 16

    Nuget add packages gives access denied errors

  17. 17

    Svchost high CPU from Microsoft.BingWeather app errors

  18. 18

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  19. 19

    12.04.3--- Dconf Editor won't show com>canonical>unity option

  20. 20

    Any way to remove trailing whitespace *FOR EDITED* lines in Eclipse [for Java]?

  21. 21

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

HotTag

Archive