logologo
शुरू करें
मार्गदर्शिका
विकास
प्लगइन
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
शुरू करें
मार्गदर्शिका
विकास
प्लगइन
API
logologo
API Overview

@nocobase/auth

AuthManager
Auth
BaseAuth

@nocobase/cache

कैशमैनेजर
कैश

@nocobase/cli

NocoBase CLI
वैश्विक पर्यावरण चर

@nocobase/client

एप्लिकेशन
प्लगइन

@nocobase/database

संग्रह
फ़ील्ड

interfaces

BaseInterface
फ़िल्टर ऑपरेटर

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
रिपॉजिटरी

shared

create-options
destroy-options
find-one
NocoBase में आपका स्वागत है
transaction
update-options

@nocobase/data-source-manager

DataSourceManager
डेटा स्रोत (एब्स्ट्रैक्ट)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

डेटा स्रोत प्रबंधक
वर्कफ़्लो संदर्भ
FlowEngine
FlowModel
वर्कफ़्लो संसाधन

@nocobase/logger

लॉगर

@nocobase/server

AppCommand
एप्लिकेशन
ऑडिटमैनेजर
संदर्भ
माइग्रेशन
प्लगइन

@nocobase/sdk

Auth
स्टोरेज

@nocobase/telemetry

मेट्रिक
Telemetry
ट्रेस
Previous Page@nocobase/database
Next Pageफ़ील्ड
TIP

यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें

#संग्रह

#अवलोकन

संग्रह का उपयोग सिस्टम में डेटा मॉडल को परिभाषित करने के लिए किया जाता है, जैसे मॉडल का नाम, फ़ील्ड, इंडेक्स, और संबंध जैसी जानकारी। इसे आमतौर पर Database इंस्टेंस के collection मेथड के ज़रिए प्रॉक्सी एंट्री पॉइंट के रूप में कॉल किया जाता है।

const { Database } = require('@nocobase/database')

// डेटाबेस इंस्टेंस बनाएँ
const db = new Database({...});

// डेटा मॉडल परिभाषित करें
db.collection({
  name: 'users',
  // मॉडल फ़ील्ड परिभाषित करें
  fields: [
    // स्केलर फ़ील्ड
    {
      name: 'name',
      type: 'string',
    },

    // संबंध फ़ील्ड
    {
      name: 'profile',
      type: 'hasOne' // 'hasMany', 'belongsTo', 'belongsToMany'
    }
  ],
});

अधिक फ़ील्ड प्रकारों के लिए, कृपया फ़ील्ड देखें।

#कंस्ट्रक्टर

सिग्नेचर

  • constructor(options: CollectionOptions, context: CollectionContext)

पैरामीटर

पैरामीटरटाइपडिफ़ॉल्ट मानविवरण
options.namestring-संग्रह पहचानकर्ता
options.tableName?string-डेटाबेस टेबल का नाम। यदि प्रदान नहीं किया गया है, तो options.name का मान उपयोग किया जाएगा।
options.fields?FieldOptions[]-फ़ील्ड परिभाषाएँ। विवरण के लिए फ़ील्ड देखें।
options.model?string | ModelStatic<Model>-Sequelize मॉडल टाइप। यदि string का उपयोग किया जाता है, तो मॉडल का नाम पहले से ही db पर रजिस्टर होना चाहिए।
options.repository?string | RepositoryType-रिपॉजिटरी टाइप। यदि string का उपयोग किया जाता है, तो रिपॉजिटरी टाइप पहले से ही db पर रजिस्टर होना चाहिए।
options.sortable?string | boolean | { name?: string; scopeKey?: string }-सॉर्टेबल फ़ील्ड कॉन्फ़िगरेशन। डिफ़ॉल्ट रूप से सॉर्टेबल नहीं होता है।
options.autoGenId?booleantrueक्या एक अद्वितीय प्राइमरी की स्वचालित रूप से जनरेट करनी है। डिफ़ॉल्ट true है।
context.databaseDatabase-वर्तमान संदर्भ में डेटाबेस।

उदाहरण

एक पोस्ट संग्रह बनाएँ:

const posts = new Collection(
  {
    name: 'posts',
    fields: [
      {
        type: 'string',
        name: 'title',
      },
      {
        type: 'double',
        name: 'price',
      },
    ],
  },
  {
    // मौजूदा डेटाबेस इंस्टेंस
    database: db,
  },
);

#इंस्टेंस मेंबर्स

#options

संग्रह के लिए प्रारंभिक कॉन्फ़िगरेशन पैरामीटर। यह कंस्ट्रक्टर के options पैरामीटर के समान है।

#context

वर्तमान संग्रह जिस संदर्भ से संबंधित है, वह मुख्य रूप से डेटाबेस इंस्टेंस है।

#name

संग्रह का नाम।

#db

संबंधित डेटाबेस इंस्टेंस।

#filterTargetKey

प्राइमरी की के रूप में उपयोग किया जाने वाला फ़ील्ड नाम।

#isThrough

क्या यह एक थ्रू संग्रह है।

#model

Sequelize मॉडल टाइप से मेल खाता है।

#repository

रिपॉजिटरी इंस्टेंस।

#फ़ील्ड कॉन्फ़िगरेशन मेथड्स

#getField()

संग्रह में परिभाषित संबंधित नाम वाले फ़ील्ड ऑब्जेक्ट को प्राप्त करता है।

सिग्नेचर

  • getField(name: string): Field

पैरामीटर

पैरामीटरटाइपडिफ़ॉल्ट मानविवरण
namestring-फ़ील्ड का नाम

उदाहरण

const posts = db.collection({
  name: 'posts',
  fields: [
    {
      type: 'string',
      name: 'title',
    },
  ],
});

const field = posts.getField('title');

#setField()

संग्रह के लिए एक फ़ील्ड सेट करता है।

सिग्नेचर

  • setField(name: string, options: FieldOptions): Field

पैरामीटर

पैरामीटरटाइपडिफ़ॉल्ट मानविवरण
namestring-फ़ील्ड का नाम
optionsFieldOptions-फ़ील्ड कॉन्फ़िगरेशन। विवरण के लिए फ़ील्ड देखें।

उदाहरण

const posts = db.collection({ name: 'posts' });

posts.setField('title', { type: 'string' });

#setFields()

संग्रह के लिए एक साथ कई फ़ील्ड सेट करता है।

सिग्नेचर

  • setFields(fields: FieldOptions[], resetFields = true): Field[]

पैरामीटर

पैरामीटरटाइपडिफ़ॉल्ट मानविवरण
fieldsFieldOptions[]-फ़ील्ड कॉन्फ़िगरेशन। विवरण के लिए फ़ील्ड देखें।
resetFieldsbooleantrueक्या मौजूदा फ़ील्ड्स को रीसेट करना है।

उदाहरण

const posts = db.collection({ name: 'posts' });

posts.setFields([
  { type: 'string', name: 'title' },
  { type: 'double', name: 'price' },
]);

#removeField()

संग्रह में परिभाषित संबंधित नाम वाले फ़ील्ड ऑब्जेक्ट को हटाता है।

सिग्नेचर

  • removeField(name: string): void | Field

पैरामीटर

पैरामीटरटाइपडिफ़ॉल्ट मानविवरण
namestring-फ़ील्ड का नाम

उदाहरण

const posts = db.collection({
  name: 'posts',
  fields: [
    {
      type: 'string',
      name: 'title',
    },
  ],
});

posts.removeField('title');

#resetFields()

संग्रह के फ़ील्ड्स को रीसेट (खाली) करता है।

सिग्नेचर

  • resetFields(): void

उदाहरण

const posts = db.collection({
  name: 'posts',
  fields: [
    {
      type: 'string',
      name: 'title',
    },
  ],
});

posts.resetFields();

#hasField()

जाँचता है कि क्या संग्रह में संबंधित नाम वाला फ़ील्ड ऑब्जेक्ट परिभाषित है।

सिग्नेचर

  • hasField(name: string): boolean

पैरामीटर

पैरामीटरटाइपडिफ़ॉल्ट मानविवरण
namestring-फ़ील्ड का नाम

उदाहरण

const posts = db.collection({
  name: 'posts',
  fields: [
    {
      type: 'string',
      name: 'title',
    },
  ],
});

posts.hasField('title'); // true

#findField()

संग्रह में शर्तों को पूरा करने वाले फ़ील्ड ऑब्जेक्ट को ढूँढता है।

सिग्नेचर

  • findField(predicate: (field: Field) => boolean): Field | undefined

पैरामीटर

पैरामीटरटाइपडिफ़ॉल्ट मानविवरण
predicate(field: Field) => boolean-खोजने की शर्त

उदाहरण

const posts = db.collection({
  name: 'posts',
  fields: [
    {
      type: 'string',
      name: 'title',
    },
  ],
});

posts.findField((field) => field.name === 'title');

#forEachField()

संग्रह में फ़ील्ड ऑब्जेक्ट्स पर इटरेट करता है।

सिग्नेचर

  • forEachField(callback: (field: Field) => void): void

पैरामीटर

पैरामीटरटाइपडिफ़ॉल्ट मानविवरण
callback(field: Field) => void-कॉलबैक फ़ंक्शन

उदाहरण

const posts = db.collection({
  name: 'posts',
  fields: [
    {
      type: 'string',
      name: 'title',
    },
  ],
});

posts.forEachField((field) => console.log(field.name));

#इंडेक्स कॉन्फ़िगरेशन मेथड्स

#addIndex()

संग्रह में एक इंडेक्स जोड़ता है।

सिग्नेचर

  • addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })

पैरामीटर

पैरामीटरटाइपडिफ़ॉल्ट मानविवरण
indexstring | string[]-इंडेक्स किए जाने वाले फ़ील्ड का नाम/नाम।
index{ fields: string[], unique?: boolean, [key: string]: any }-पूर्ण कॉन्फ़िगरेशन।

उदाहरण

const posts = db.collection({
  name: 'posts',
  fields: [
    {
      type: 'string',
      name: 'title',
    },
  ],
});

posts.addIndex({
  fields: ['title'],
  unique: true,
});

#removeIndex()

संग्रह से एक इंडेक्स हटाता है।

सिग्नेचर

  • removeIndex(fields: string[])

पैरामीटर

पैरामीटरटाइपडिफ़ॉल्ट मानविवरण
fieldsstring[]-हटाए जाने वाले इंडेक्स के लिए फ़ील्ड नामों का संयोजन।

उदाहरण

const posts = db.collection({
  name: 'posts',
  fields: [
    {
      type: 'string',
      name: 'title',
    },
  ],
  indexes: [
    {
      fields: ['title'],
      unique: true,
    },
  ],
});

posts.removeIndex(['title']);

#संग्रह कॉन्फ़िगरेशन मेथड्स

#remove()

संग्रह को हटाता है।

सिग्नेचर

  • remove(): void

उदाहरण

const posts = db.collection({
  name: 'posts',
  fields: [
    {
      type: 'string',
      name: 'title',
    },
  ],
});

posts.remove();

#डेटाबेस ऑपरेशन मेथड्स

#sync()

संग्रह परिभाषा को डेटाबेस में सिंक करता है। Sequelize में Model.sync के डिफ़ॉल्ट लॉजिक के अलावा, यह संबंध फ़ील्ड्स से संबंधित संग्रह को भी प्रोसेस करता है।

सिग्नेचर

  • sync(): Promise<void>

उदाहरण

const posts = db.collection({
  name: 'posts',
  fields: [
    {
      type: 'string',
      name: 'title',
    },
  ],
});

await posts.sync();

#existsInDb()

जाँचता है कि क्या संग्रह डेटाबेस में मौजूद है।

सिग्नेचर

  • existsInDb(options?: Transactionable): Promise<boolean>

पैरामीटर

पैरामीटरटाइपडिफ़ॉल्ट मानविवरण
options?.transactionTransaction-ट्रांज़ैक्शन इंस्टेंस

उदाहरण

const posts = db.collection({
  name: 'posts',
  fields: [
    {
      type: 'string',
      name: 'title',
    },
  ],
});

const existed = await posts.existsInDb();

console.log(मौजूद है); // false

#removeFromDb()

सिग्नेचर

  • removeFromDb(): Promise<void>

उदाहरण

const books = db.collection({
  name: 'books',
});

// किताबों के `संग्रह` को डेटाबेस में सिंक करें
await db.sync();

// डेटाबेस से किताबों के `संग्रह` को हटाएँ
await books.removeFromDb();