উত্তর:
আপনি এটি এর মতো করতে পারেন:
var mongoose = require('mongoose');
var id = mongoose.Types.ObjectId('4edd40c86762e0fb12000003');
আপনি এটি এর মতো করতে পারেন:
var mongoose = require('mongoose');
var _id = mongoose.mongo.BSONPure.ObjectID.fromHexString("4eb6e7e7e9b7f4194e000001");
সম্পাদনা: নতুন স্ট্যান্ডার্ডের থেকে স্ট্রিংয়ের চেয়ে হেক্স স্ট্রিং রয়েছে
mongoose.mongo
আমার পক্ষে অংশ নয় । কেউ কি নিশ্চিত করতে পারবেন?
var mongoose = require('mongoose');
var _id = mongoose.mongo.ObjectId("4eb6e7e7e9b7f4194e000001");
mongoose.Types.ObjectId
এবং এর মধ্যে পার্থক্য সম্পর্কে মন্তব্য করতে পারেন mongoose.mongo.ObjectId
? মঙ্গুজের বস্তুর বৈশিষ্ট্যগুলি পৃথক, তবে তারা নীচে একই পদ্ধতিটি উল্লেখ করতে পারে। Types
বনাম উপর অন্তর্নিহিত পদ্ধতি সম্পর্কে মন্তব্য করুন mongo
।
আমি এই পদ্ধতিটি সমাধান করতে পারিনি (অবশ্যই আমি বেশি দিন সন্ধান করিনি)
mongoose.mongo.BSONPure.ObjectID.fromHexString
যদি আপনার স্কিমা সম্পত্তিটি অবজেক্টআইডের ধরণের বলে প্রত্যাশা করে তবে রূপান্তর অন্তর্নিহিত, কমপক্ষে এটি 7.7.৮ হিসাবে দেখা যাবে।
আপনি তবে এর মতো কিছু ব্যবহার করতে পারেন যা কিছুটা আরও নমনীয়তা দেয়:
function toObjectId(ids) {
if (ids.constructor === Array) {
return ids.map(mongoose.Types.ObjectId);
}
return mongoose.Types.ObjectId(ids);
}
আপনি যদি এক্সপ্রেস এবং মঙ্গুজের মাধ্যমে একটি REST এপিআই প্রয়োগ করছেন তবে নীচের কোড স্নিপেটটি দেখুন। (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
})
}
...
আশা করি এটা সাহায্য করবে