1

I want to fetch the data from mongo db and store it in a json object in node.js. The purpose is to manipulate that data which I think is quite simple if its a json objcet. Below is the code I am using:

var MongoClient = require('mongodb').MongoClient;
var ObjectId = require('mongodb').ObjectID;
var url = 'mongodb://localhost:27017/MyCollection';

var data;

var findRestaurants = function (db, callback) {
    var cursor = db.collection('demographicdetails').find().limit(10);

    cursor.each(function (err, doc) {

        if (doc != null) {
            console.dir(doc);

        } else {
            callback();
        }
    });
};

MongoClient.connect(url, function (err, db) {

    findRestaurants(db, function () {
        db.close();
    });
});

From above code, I am able to fetch the data from mongo db and console.dir(doc) shows me the data.

What I want to do is something like this:

  data = doc;
 data.forEach(function (eval) {
     //Manipulating eval
 });

Please suggest. Thanks in advance!

3 Answers 3

2

I recommend you to use the toObject function.

cursor.each(function (err, doc) {

    if (doc != null) {
        console.dir(doc);
        var restaurant = doc.toObject(); // use restaurant object
    } else {
        callback();
    }
});
Sign up to request clarification or add additional context in comments.

Comments

1

MongoDB uses JSON/BSON internally to store the data. So any query you make you should get a JSON object. I use MongooseJS as the MongoDB library, which gives you back a JSON after querying.

Comments

0

use toArray in mongodb client , mongodb always give json format

db.collection('demographicdetails').find().limit(10).toArray(function (err, aum) { 

aum.forEach(function (err, doc) {

        if (doc != null) {
            console.dir(doc);

        } else {
            callback();
        }
    });
})

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.