回答:
あなたはそうすることができます:
var mongoose = require('mongoose');
var id = mongoose.Types.ObjectId('4edd40c86762e0fb12000003');
あなたはこのようにそれを行うことができます:
var mongoose = require('mongoose');
var _id = mongoose.mongo.BSONPure.ObjectID.fromHexString("4eb6e7e7e9b7f4194e000001");
編集:新しい標準にはfromStringではなくfromHexStringがあります
mongoose.mongo
私の一部ではありません。誰か確認できますか?
私はこの方法を解決できませんでした(確かに長い間検索していません)
mongoose.mongo.BSONPure.ObjectID.fromHexString
スキーマでプロパティのタイプがObjectIdであると想定している場合、変換は暗黙的に行われます。少なくとも、これは4.7.8の場合のようです。
ただし、次のようなものを使用できます。
function toObjectId(ids) {
if (ids.constructor === Array) {
return ids.map(mongoose.Types.ObjectId);
}
return mongoose.Types.ObjectId(ids);
}
expressおよびmongooseを介してREST APIを実装する場合は、以下のコードスニペットを参照してください。(ADDの例)
....
exports.AddSomething = (req,res,next) =>{
const newSomething = new SomeEntity({
_id:new mongoose.Types.ObjectId(), //its very own ID
somethingName:req.body.somethingName,
theForeignKey: mongoose.Types.ObjectId(req.body.theForeignKey)// if you want to pass an object ID
})
}
...
それが役に立てば幸い