47

MongoDbで(の一部としてMongoJS)を使用していNodeます。MongoJS のドキュメントは次のとおりです。

_idエントリのフィールドに基づいてノード内で呼び出しを実行しようとしています。コンソールからバニラを使用する場合MongoDB、次のことができます。

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

そしてそれは私のエントリを正しく返します。ただし、ノードで同じことを行うと、次のようになります。

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

私は得るReferenceError: ObjectId is not defined

これを行うための正しいプロトコルは何ですか?

4

5 に答える 5

124

使用する前に ObjectId 関数を要求する必要があります。

var ObjectId = require('mongodb').ObjectID;
于 2013-07-09T10:08:13.003 に答える
2

マングースを使用している場合は、これを試すことができます:

var mongoose = require('mongoose')
usersSchema = mongoose.model('users'),
mongoose.Types.ObjectId("<object_id>")

usersSchema.find({"_id": mongoose.Types.ObjectId("<object_id>")}, function (err, record) {
// Do stuff
});
于 2017-01-12T14:29:55.727 に答える
1

MongoJS を使用している場合は、次のことができます。

var ObjectId = mongojs.ObjectId;

それで、

db.users.find({"_id": ObjectId(id)}, function(err, user){...}
于 2016-01-18T11:05:29.097 に答える