मैं मानसून के साथ एक ObjectId कैसे बना सकता हूं?


133

मैं ObjectIdMongoose के साथ एक MongoDB उत्पन्न करना चाहता हूं । क्या ObjectIdमानगो से कंस्ट्रक्टर को एक्सेस करने का कोई तरीका है ?

  • यह सवाल खरोंच से एक नया उत्पादन करने के बारे में है ObjectId। जनरेट की गई आईडी एक नई सार्वभौमिक रूप से विशिष्ट आईडी है।

  • एक अन्य प्रश्न मौजूदा स्ट्रिंग प्रतिनिधित्वObjectId से बनाने के बारे में पूछता है । इस मामले में, आपके पास पहले से ही एक आईडी का एक स्ट्रिंग प्रतिनिधित्व है - यह सार्वभौमिक रूप से अद्वितीय नहीं हो सकता है या नहीं हो सकता है - और आप इसे एक में पार्स कर रहे हैं ।ObjectId

जवाबों:


291

आप ObjectIdकंस्ट्रक्टर पर पा सकते हैं require('mongoose').Types। यहाँ एक उदाहरण है:

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

idएक नव निर्मित है ObjectId

आप मानगो # प्रकार के दस्तावेज़ में Typesऑब्जेक्ट के बारे में अधिक पढ़ सकते हैं ।


4
आप यह कैसे सुनिश्चित कर सकते हैं कि यह वास्तव में अद्वितीय है? इससे पहले किसी भी जाँच को मानती है?
R01010010

1
@ R01010010 देखें कि ये कैसे उत्पन्न होते हैं (Google)। कोई जांच नहीं है, लेकिन यह संभावित है
दिमित्री मिनकोवस्की

13
यदि आप एक ही मशीन पर एक सेकंड के भीतर 16777216 उत्पन्न करते हैं, तो आपको संभवतः एक डुप्लिकेट मिलेगा। :)
joeytwiddle

सुधार: यदि आप एक मशीन पर एक मिलीसेकंड के भीतर 16777216 उत्पन्न करते हैं, तो आपको संभवतः एक डुप्लिकेट मिलेगा। 😁
चोरी छाया

43

आप मानगो ObjectIdका उपयोग करके इस तरह एक नया MongoDB बना सकते हैं :

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();

14

मैं ग्राहक पक्ष पर mongodb आईडी उत्पन्न करने की जरूरत है।

Mongodb स्रोत कोड में खुदाई करने के बाद मैंने पाया कि वे npm bsonlib का उपयोग करके ऑब्जेक्ट जनरेट करते हैं ।

यदि आपको कभी भी पूरे मोंगोडब / मोंगोज़ पैकेज को स्थापित किए बिना एक ऑब्जेक्ट बनाने की आवश्यकता है, तो आप लाइटर bsonलाइब्रेरी का आयात कर सकते हैं :

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

नोट: एक npm प्रोजेक्ट 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');
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.