私はnodejs + expressとmongodbを使っています。ノード+ Mongodb + ObjectIdが動作しない
私は郵便番号を使用しており、APIにアクセスしています。 ObjectIdを使用すると、サーバーは何も応答しません。私が取り除いたのは良い仕事を意味する。 私はこの問題を解決できません。誰でも助けてください。
test.js
//Post Data:
{
"list_id": "56963e4dbcd5d4ff27ced0fbd"
}
var app = require('express');
var router = app.Router();
var server = require('./../../server');
var mongoUtil = require('./../../mongoUtil');
var ObjectId = require('mongodb').ObjectID;
router.post('/share', function(req, res, next) {
var data = {
query : {}
};
console.log(req.body['list_id']);
//printed 56963e4dbcd5d4ff27ced0fbd
console.log(data.query);
//printed {}
data.query = ObjectId(req.body['list_id']);
console.log(data.query);
//Here not getting any response
// this line not printed and server no response.
//Also tried the following things. but its not working.
// data.query['_id'] = new ObjectID(req.body['list_id']);
//data.query._id = ObjectId(req.body['list_id']);
var collection = mongoUtil.list;
collection.findOne(data.query, function(err, list) {
console.log(err);
console.log(list);
if (!err && list) {
res.send("Sucess");
return;
} else {
res.send("Error");
return;
}
});
});
ObjectIDを含めるとどのようなエラーが発生していますか? – Venky
私は何のエラーもありませんでした。サーバーが応答していません。 – RSKMR
'ObjectId()'コンストラクタは、24バイトの16進文字列、12バイトのバイナリ文字列、または引数としての数値を期待していますが、ここで 'req.body ['list_id']'は単なる文字列です。 – chridam