উদাহরণস্বরূপ, এই কোডটির ফলাফল তৈরি করা হচ্ছে "ডেটাস" নামে একটি সংকলনে
var Dataset = mongoose.model('data', dataSchema);
এবং এই কোডটির ফলাফল তৈরি করা হচ্ছে "ব্যবহারকারী" নামে একটি সংকলন
var User = mongoose.model('user', dataSchema);
ধন্যবাদ
উদাহরণস্বরূপ, এই কোডটির ফলাফল তৈরি করা হচ্ছে "ডেটাস" নামে একটি সংকলনে
var Dataset = mongoose.model('data', dataSchema);
এবং এই কোডটির ফলাফল তৈরি করা হচ্ছে "ব্যবহারকারী" নামে একটি সংকলন
var User = mongoose.model('user', dataSchema);
ধন্যবাদ
উত্তর:
মঙ্গুজ আপনার সংগ্রহের নামটি বহুবচন করে স্মার্ট হওয়ার চেষ্টা করছেন। তবে আপনি এটি যা চান তা করতে বাধ্য করতে পারেন:
var dataSchema = new Schema({..}, { collection: 'data' })
মঙ্গুজ.মোডেলের এপিআই কাঠামোটি হ'ল:
Mongoose#model(name, [schema], [collection], [skipInit])
মঙ্গুজ যা করেন তা হ'ল, যখন কোনও সংগ্রহের যুক্তিটি পাস না করা হয়, তখন মোঙ্গুজ মডেলের নামটি বহুবচন করে সংগ্রহের নাম তৈরি করে। আপনি যদি এই আচরণটি পছন্দ না করেন তবে হয় সংগ্রহের নামটি পাস করুন বা আপনার স্কিমাস সংগ্রহের নাম বিকল্প সেট করুন।
উদাহরণ:
var schema = new Schema({ name: String }, { collection: 'actor' });
অথবা
schema.set('collection', 'actor');
অথবা
var collectionName = 'actor'
var M = mongoose.model('Actor', schema, collectionName);
মঙ্গুজ ৫.x থেকে শুরু করে আপনি এটি পুরোপুরি অক্ষম করতে পারবেন:
mongoose.pluralize(null);
আপনি সংগ্রহের আসল নামটি সংজ্ঞায়িত করতে তৃতীয় যুক্তি হিসাবে কেবল স্ট্রিং যুক্ত করতে পারেন। আপনার উদাহরণগুলি প্রসারিত করা, যথাক্রমে data
এবং user
যথাযথভাবে নাম রাখতে :
var Dataset = mongoose.model('data', dataSchema, 'data');
var User = mongoose.model('user', dataSchema, 'user');
আপনি সংগ্রহের নামটি তৃতীয় প্যারামিটার হিসাবে যুক্ত করতে পারেন। টাইপস্ক্রিপ্ট ব্যবহার করে উদাহরণটি দেখুন:
import DataAccess = require('../DataAccess');
import IUser = require("../../Models/Interfaces/IUser");
var mongoose = DataAccess.mongooseInstance;
var mongooseConnection = DataAccess.mongooseConnection;
class UserSchema {
static get schema () {
var schema = mongoose.Schema({
_id : {
type: String
},
Name: {
type: String,
required: true
},
Age: {
type: Number,
required: true
}
});
return schema;
}
}
var schema:any = mongooseConnection.model<IUser>("User",
UserSchema.schema,"User");
export = schema;
//Mongoose's definition file. NOT your model files
1 const mongoose = require("mongoose");
2 mongoose.pluralize(null);
mongoose.pluralize(null)
আপনার মঙ্গুজ ফাইলে লাইন যুক্ত করা সংকলনের নাম বহুবচন রোধ করবে। আপনার মডেল ফাইলগুলিতে এই লাইনটি যুক্ত করার দরকার নেই।
যেমনটি এখানে দেখা যায় ।
পরের লাইনে আপনার স্কিমা সংজ্ঞা দেওয়ার শেষে এই কোডটি ব্যবহার করুন
module.exports = mongoose.model("State", "StateSchema", "state")
ধরে নিই যে আপনার রাজ্যটি আপনার ডিবিতে রাজ্য হিসাবে এড়াতে আপনি কী ব্যবহার করতে চান
আপনি যখন এই আদেশটি চালাবেন তখন মঙ্গুজ আপনার জন্য একটি মডেল তৈরি করে iles
var schema = new mongoose.Schema({ name: 'string', size: 'string' });
var child = mongoose.model('child', schema);
প্রথম যুক্তি হ'ল আপনার মডেলটি সংগ্রহের একক নাম। মঙ্গুজ স্বয়ংক্রিয়ভাবে আপনার মডেল নামের বহুবচন, নিম্নরূপী সংস্করণ সন্ধান করে। সুতরাং, উপরের উদাহরণের জন্য, মডেল শিশুটি ডাটাবেসে শিশু সংগ্রহের জন্য।
দ্রষ্টব্য:.model()
ফাংশন স্কিমা একটি কপি করে তোলে। কল করার আগে হুকস সহ আপনি স্কিমাতে যা কিছু চান তা আপনি যুক্ত করেছেন তা নিশ্চিত করুন .model()
!