Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Correct way to search for MongoDB entries by '_id' in Node

Correct way to search for MongoDB entries by '_id' in Node

Problem

I'm using MongoDb (as part of MongoJS) in Node. Here is the documentation for MongoJS.

I'm trying to do a call within Node based on an entry's _id field. When using vanilla MongoDB from the console, I can do:

db.products.find({"_id":ObjectId("51d151c6b918a71d170000c7")})

and it correctly returns my entry. However, when I do the same thing in Node, like:

db.products.find({"_id": ObjectId("51d151c6b918a71d170000c7")}, function (err, record) {
    // Do stuff
});

I get ReferenceError: ObjectId is not defined.

What is the correct protocol for doing this?

Problem courtesy of: Jascination

Solution

You need to require the ObjectId function before using it:

var ObjectId = require('mongodb').ObjectID;
Solution courtesy of: Chris

Discussion

View additional discussion.



This post first appeared on Node.js Recipes, please read the originial post: here

Share the post

Correct way to search for MongoDB entries by '_id' in Node

×

Subscribe to Node.js Recipes

Get updates delivered right to your inbox!

Thank you for your subscription

×