通过Node中的"_id"搜索MongoDB条目的正确方法

JVG*_*JVG 45 javascript mongodb node.js

我正在使用MongoDb(作为一部分MongoJS)Node.这是MongoJS的文档.

我正在尝试根据条目的_id字段在Node内进行调用.MongoDB从控制台使用香草时,我可以这样做:

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

它正确地返回我的条目.但是,当我在Node中做同样的事情时,例如:

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

我得到ReferenceError: ObjectId is not defined.

这样做的正确协议是什么?

Chr*_*ris 113

在使用之前,您需要使用ObjectId函数:

var ObjectId = require('mongodb').ObjectID;
Run Code Online (Sandbox Code Playgroud)

  • 或者[`require('mongoose').Schema.ObjectId`](http://stackoverflow.com/questions/8111846/how-to-set-objectid-as-a-data-type-in​​-mongoose) (7认同)
  • 我使用`var ObjectId = require("mongojs").ObjectId;`,但也可以正常工作!干杯. (4认同)