0

一致する「_id」をデータベースに照会しようとしていますが、結果はnullに戻りますが、mongodbシェルでは正しい結果が返されます。これが私が使用しているコードです。

var collection = new mongodb.Collection(client, 'products');
collection.findOne({ _id : 50738ebbe3d87c6beaddb6f2 }, function(err, result){
  res.send(result);
  console.log(result);
});

私も使ってみました、

"ObjectId('50738ebbe3d87c6beaddb6f2')"

しかし、それも「null」に戻ります。

4

2 に答える 2

1

正しい構文は次のとおりです。

collection.findOne({ _id : new mongodb.ObjectID('50738ebbe3d87c6beaddb6f2') }, 
  function(err, result){
    res.send(result);
    console.log(result);
  }
);
于 2012-10-19T18:12:59.737 に答える
0

これはうまくいきます。
BSON を使用して、HEX 文字列から ObjectID を取得できます。

var mongodb = require('mongodb');
var BSON = mongodb.BSONNative;

var o_id = BSON.ObjectID.createFromHexString(theidID);
collection.findOne({'_id' : o_id}, function(err, document) {
 console.log(document);
});
于 2014-03-07T01:02:42.063 に答える