আমি মঙ্গু দিয়ে কীভাবে একটি অবজেক্টআইডি তৈরি করতে পারি?


132

আমি মঙ্গুজের ObjectIdসাথে একটি মঙ্গোডিবি তৈরি করতে চাই । ObjectIdমঙ্গুজ থেকে নির্মাতাকে অ্যাক্সেস করার কোনও উপায় আছে কি ?

  • এই প্রশ্নটি স্ক্র্যাচ থেকে একটি নতুন উত্পাদন সম্পর্কে ObjectId। উত্পন্ন ID হ'ল একেবারে নতুন সর্বজনীন অনন্য আইডি।

  • অন্য একটি প্রশ্ন বিদ্যমান স্ট্রিং প্রতিনিধিত্বObjectId থেকে একটি তৈরি সম্পর্কে জিজ্ঞাসা করে । এই ক্ষেত্রে, আপনার কাছে ইতিমধ্যে কোনও আইডির স্ট্রিং প্রতিনিধিত্ব রয়েছে — এটি সর্বজনীনভাবে অনন্য হতে পারে বা নাও হতে পারে you এবং আপনি এটি একটিতে পার্স করছেন ।ObjectId

উত্তর:


290

আপনি ObjectIdনির্মাণকারী খুঁজে পেতে পারেন require('mongoose').Types। এখানে একটি উদাহরণ:

var mongoose = require('mongoose');
var id = mongoose.Types.ObjectId();

idএকটি নতুন উত্পন্ন ObjectId

আপনি মঞ্জুজ # প্রকারের ডকুমেন্টেশনেTypes অবজেক্টটি সম্পর্কে আরও পড়তে পারেন ।


4
আপনি কীভাবে নিশ্চিত হন যে এটি সত্যই অনন্য? মঙ্গুজ কি আগে কোন চেক করে?
R01010010

1
@ R01010010 এগুলি কীভাবে উত্পন্ন হয় (গুগল) দেখুন। কোনও পরীক্ষা নেই তবে এটি সম্ভাব্য
দিমিত্রি মিনকভস্কি

13
আপনি যদি একই মেশিনে এক সেকেন্ডের মধ্যে 16777216 উত্পন্ন করেন, তবে সম্ভবত আপনি একটি সদৃশ পাবেন। :)
জোয়েটউইডল

সংশোধন: আপনি যদি একই মেশিনে এক মিলিসেকেন্ডের মধ্যে 16777216 উত্পন্ন করেন, তবে আপনি সম্ভবত একটি সদৃশ পাবেন। 😁
ছড়িয়ে ছায়া এডিং

43

আপনি মঙ্গুজ ObjectIdব্যবহার করে এটির মতো একটি নতুন মঙ্গোডিবি তৈরি করতে পারেন :

var mongoose = require('mongoose');
var newId = new mongoose.mongo.ObjectId('56cb91bdc3464f14678934ca');
// or leave the id string blank to generate an id with a new hex identifier
var newId2 = new mongoose.mongo.ObjectId();

13

আমার ক্লায়েন্টের পক্ষে মংডোডবি আইডি জেনারেট করা দরকার।

মোংডব সোর্স কোডটি খননের পরে আমি দেখতে পেলাম যে তারা এনপিএম লাইব ব্যবহার করে অবজেক্টআইডি উত্পন্ন করে bson

যদি কখনও আপনার পুরো মোংডোডব / মঙ্গুজ প্যাকেজটি ইনস্টল না করে কেবল কোনও অবজেক্টআইডি উত্পন্ন করার প্রয়োজন হয় তবে আপনি হালকা bsonলাইব্রেরি আমদানি করতে পারেন :

const bson = require('bson');
new bson.ObjectId(); // 5cabe64dcf0d4447fa60f5e2

দ্রষ্টব্য: bson-objectidআরও হালকা হওয়ার নামে একটি এনপিএম প্রকল্প রয়েছে


6

ES6 সিনট্যাক্স সহ

import mongoose from "mongoose";

// Generate a new new ObjectId
const newId2 = new mongoose.Types.ObjectId();
// Convert string to ObjectId
const newId = new mongoose.Types.ObjectId('56cb91bdc3464f14678934ca');
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.