MongoDB में db.createCollection() से सही तरीके से कलेक्शन बनाना
"ReferenceError: not defined" एरर से बचने के लिए हमेशा db ऑब्जेक्ट पर createCollection() मेथड कॉल करें।
सही सिंटैक्स
db.createCollection("yourCollectionName");
उदाहरण: sample डेटाबेस में कलेक्शन बनाएं
> use sample
switched to db sample
> db.createCollection("employeeInformation");
{ "ok": 1 }
बने हुए कलेक्शन वेरिफाई करें
> db.getCollectionNames();
[
"arraySizeErrorDemo", "atleastOneMatchDemo", "basicInformationDemo",
"combinedAndOrDemo", "convertSQLQueryDemo", "copyThisCollectionToSampleDatabaseDemo",
"countOrSizeDemo", "distinctOnMultipleFieldsDemo", "documentWithAParticularFieldValueDemo",
"employee", "employeeInformation", "findListOfIdsDemo", "findMimimumElementInArrayDemo",
"findSubstring", "getAllRecordsFromSourceCollectionDemo", "getElementWithMaxIdDemo",
"insertDocumentWithDateDemo", "internalArraySizeDemo", "keepTwoColumnsUniqueDemo",
"largestDocumentDemo", "makingStudentInformationClone", "nestedArrayDemo",
"oppositeAddToSetDemo", "prettyDemo", "projectionAnElementDemo", "replacingEntireDocumentDemo",
"returnOnlyUniqueValuesDemo", "searchInInnerDemo", "selectItemDemo", "selectWhereInDemo",
"sourceCollection", "specificFieldDemo", "studentInformation", "sumOfValueDemo",
"sumTwoFieldsDemo", "truncateDemo", "updateFieldIfValueIsGreaterDemo", "updateInformation",
"updateSubObjectDemo", "userInformation"
]
आम गलतियां जो ReferenceError देती हैं
| गलत कोड | समस्या |
|---|---|
createCollection("name") | db ऑब्जेक्ट गायब |
db.createCollection(name) | स्ट्रिंग कोट्स नहीं |
db.collectionName.insert(...) | कलेक्शन मौजूद नहीं (ऑटो-बनता है लेकिन... |
बेहतर अभ्यास
- स्पष्ट रूप से
db.createCollection()कॉल करें - ऑप्शन ऑब्जेक्ट पास करें:
{capped: true, size: 100000} - इंडेक्स साथ में बनाएं:
db.createCollection("name").then(...)(ड्राइवर में)
नोट
MongoDB में कलेक्शन पहली बार डेटा इन्सर्ट करने पर ऑटोमैटिकली बन जाता है (लेजी क्रिएशन)। लेकिन स्पष्ट निर्माण से विकल्प सेट कर सकते हैं और एरर से बचते हैं।