@firebase/firestore/lite

کارکرد

تابع شرح
عملکرد (برنامه، ...)
getFirestore (برنامه) نمونه Firestore پیش‌فرض موجود را که با FirebaseApp ارائه شده مرتبط است، برمی‌گرداند . اگر هیچ نمونه ای وجود نداشته باشد، یک نمونه جدید با تنظیمات پیش فرض مقداردهی اولیه می کند.
getFirestore (برنامه، شناسه پایگاه داده) (BETA) نمونه Firestore موجود را که با FirebaseApp ارائه شده مرتبط است، برمی‌گرداند . اگر هیچ نمونه ای وجود نداشته باشد، یک نمونه جدید با تنظیمات پیش فرض مقداردهی اولیه می کند.
InitializeFirestore (برنامه، تنظیمات) نمونه جدیدی از Cloud Firestore را با تنظیمات ارائه شده راه اندازی می کند. فقط می توان قبل از هر توابع دیگری از جمله getFirestore() فراخوانی کرد. . اگر تنظیمات سفارشی خالی باشد، این تابع معادل فراخوانی getFirestore() است. .
InitializeFirestore (برنامه، تنظیمات، شناسه پایگاه داده) (BETA) نمونه جدیدی از Cloud Firestore را با تنظیمات ارائه شده راه اندازی می کند. فقط می توان قبل از هر توابع دیگری از جمله getFirestore() فراخوانی کرد. . اگر تنظیمات سفارشی خالی باشد، این تابع معادل فراخوانی getFirestore() است. .
عملکرد (Firestore، ...)
مجموعه (Firestore، مسیر، pathSegments) یک نمونه CollectionReference دریافت می کند که به مجموعه در مسیر مطلق مشخص شده اشاره می کند.
collectionGroup (Firestore, collectionId) یک نمونه Query جدید را ایجاد و برمی گرداند که شامل تمام اسناد موجود در پایگاه داده است که در یک مجموعه یا زیر مجموعه با collectionId داده شده وجود دارد.
connectFirestoreEmulator (Firestore، میزبان، پورت، گزینه ها) این نمونه را برای برقراری ارتباط با شبیه ساز Cloud Firestore تغییر دهید. توجه: قبل از اینکه از این نمونه برای انجام هر عملیاتی استفاده شود، این باید فراخوانی شود.
doc (Firestore، مسیر، pathSegments) یک نمونه DocumentReference دریافت می کند که به سند در مسیر مطلق مشخص شده اشاره می کند.
runTransaction (Firestore، UpdateFunction، گزینه ها) updateFunction داده شده را اجرا می کند و سپس تلاش می کند تا تغییرات اعمال شده در تراکنش را انجام دهد. اگر هر سند خوانده شده در تراکنش تغییر کرده باشد، Cloud Firestore مجدداً updateFunction را امتحان می کند. اگر پس از 5 بار تلاش انجام نشود، تراکنش با شکست مواجه می شود. حداکثر تعداد نوشتن مجاز در یک تراکنش 500 است.
خاتمه (Firestore) نمونه Firestore ارائه شده را خاتمه می دهد. پس از فراخوانی terminate() فقط از توابع clearIndexedDbPersistence() می توان استفاده کرد. هر تابع دیگری یک FirestoreError ایجاد می کند. فسخ هیچ نوشته معلقی را لغو نمی کند و هر وعده ای که در انتظار پاسخ از طرف سرور باشد حل نخواهد شد. برای راه اندازی مجدد پس از خاتمه، یک نمونه جدید از Firestore با getFirestore() ایجاد کنید. . توجه: در شرایط عادی، فراخوانی terminate() مورد نیاز نیست. این تابع فقط زمانی مفید است که می‌خواهید این نمونه را مجبور کنید همه منابع خود را آزاد کند یا در ترکیب با clearIndexedDbPersistence() مطمئن شوید که تمام حالت محلی بین اجرای آزمایشی از بین می‌رود.
writeBatch (Firestore) یک دسته نوشتن ایجاد می کند که برای انجام چندین نوشتن به عنوان یک عملیات اتمی استفاده می شود. حداکثر تعداد نوشتن مجاز در یک WriteBatch 500 است. نتیجه این نوشتن‌ها فقط در خواندن سند که پس از رفع قول برگشتی رخ می‌دهد، منعکس می‌شود. اگر مشتری آفلاین باشد، نوشتن ناموفق است. اگر می‌خواهید تغییرات محلی یا نوشته‌های بافر را تا زمانی که مشتری آنلاین است ببینید، از Firestore SDK کامل استفاده کنید.
تابع()
شمردن() یک شی AggregateField ایجاد کنید که بتوان از آن برای محاسبه تعداد اسناد در مجموعه نتایج یک پرس و جو استفاده کرد.
deleteField() یک نگهبان را برای استفاده با updateDoc() یا setDoc() با {merge: true} برای علامت گذاری فیلدی برای حذف برمی گرداند.
documentId() یک FieldPath نگهبان ویژه برای ارجاع به شناسه یک سند را برمی‌گرداند. می توان از آن در کوئری ها برای مرتب کردن یا فیلتر کردن بر اساس شناسه سند استفاده کرد.
getFirestore() نمونه Firestore پیش‌فرض موجود را که با FirebaseApp پیش‌فرض مرتبط است، برمی‌گرداند . اگر هیچ نمونه ای وجود نداشته باشد، یک نمونه جدید با تنظیمات پیش فرض مقداردهی اولیه می کند.
serverTimestamp() نگهبانی را برمی‌گرداند که با setDoc() یا updateDoc() برای گنجاندن مهر زمانی تولید شده توسط سرور در داده‌های نوشته شده استفاده شده است.
تابع (شناسه پایگاه داده، ...)
getFirestore (شناسه پایگاه داده) (BETA) نمونه Firestore موجود را که با FirebaseApp پیش‌فرض مرتبط است، برمی‌گرداند . اگر هیچ نمونه ای وجود نداشته باشد، یک نمونه جدید با تنظیمات پیش فرض مقداردهی اولیه می کند.
تابع (عناصر، ...)
arrayRemove(عناصر) مقدار خاصی را برمی گرداند که می تواند با setDoc() استفاده شود یا به سرور می گوید عناصر داده شده را از هر مقدار آرایه ای که از قبل در سرور وجود دارد حذف کند. تمام نمونه های هر عنصر مشخص شده از آرایه حذف خواهند شد. اگر فیلدی که اصلاح می شود از قبل یک آرایه نباشد، با یک آرایه خالی بازنویسی می شود.
arrayUnion(عناصر) مقدار خاصی را برمی‌گرداند که می‌تواند با setDoc() یا updateDoc() استفاده شود که به سرور می‌گوید عناصر داده‌شده را با هر مقدار آرایه‌ای که از قبل در سرور وجود دارد، متحد کند. هر عنصر مشخص شده ای که قبلاً در آرایه وجود ندارد به انتها اضافه می شود. اگر فیلدی که اصلاح می‌شود قبلاً یک آرایه نباشد، با آرایه‌ای که دقیقاً حاوی عناصر مشخص‌شده است، رونویسی می‌شود.
تابع (فیلد، ...)
متوسط ​​(رشته) یک شیء AggregateField ایجاد کنید که بتوان از آن برای محاسبه میانگین یک فیلد مشخص در طیف وسیعی از اسناد در مجموعه نتایج یک پرس و جو استفاده کرد.
جمع (فیلد) یک شیء AggregateField ایجاد کنید که بتوان از آن برای محاسبه مجموع یک فیلد مشخص شده در طیف وسیعی از اسناد در مجموعه نتایج یک پرس و جو استفاده کرد.
تابع (fieldPath، ...)
orderBy (fieldPath، directionStr) یک QueryOrderByConstraint ایجاد می کند که نتیجه پرس و جو را بر اساس فیلد مشخص شده، به صورت اختیاری به جای صعودی، به ترتیب نزولی مرتب می کند. توجه: اسنادی که شامل فیلد مشخص شده نیستند در نتیجه پرس و جو وجود نخواهد داشت.
کجا (fieldPath، opStr، مقدار) یک QueryFieldFilterConstraint ایجاد می‌کند که الزام می‌کند اسناد باید حاوی فیلد مشخص‌شده باشند و این مقدار باید محدودیت رابطه ارائه‌شده را برآورده کند.
تابع (مقدارهای فیلد، ...)
endAt (fieldValues) یک QueryEndAtConstraint ایجاد می کند که نتیجه مجموعه را تغییر می دهد تا در فیلدهای ارائه شده نسبت به ترتیب پرس و جو پایان یابد. ترتیب مقادیر فیلدها باید با ترتیب ترتیب توسط بندهای پرس و جو مطابقت داشته باشد.
endBefore (fieldValues) یک QueryEndAtConstraint ایجاد می کند که نتیجه مجموعه را به پایان می رسد تا قبل از فیلدهای ارائه شده نسبت به ترتیب پرس و جو تغییر دهد. ترتیب مقادیر فیلدها باید با ترتیب ترتیب توسط بندهای پرس و جو مطابقت داشته باشد.
startAfter(FieldValues) یک QueryStartAtConstraint ایجاد می کند که مجموعه نتیجه را تغییر می دهد تا بعد از فیلدهای ارائه شده نسبت به ترتیب پرس و جو شروع شود. ترتیب مقادیر فیلدها باید با ترتیب ترتیب توسط بندهای پرس و جو مطابقت داشته باشد.
startAt (fieldValues) یک QueryStartAtConstraint ایجاد می کند که مجموعه نتایج را تغییر می دهد تا از فیلدهای ارائه شده نسبت به ترتیب پرس و جو شروع شود. ترتیب مقادیر فیلدها باید با ترتیب ترتیب توسط بندهای پرس و جو مطابقت داشته باشد.
تابع (سمت چپ، ...)
aggregateFieldEqual (چپ، راست) دو "AggregateField" را مقایسه می کند مواردی برای برابری
aggregateQuerySnapshotEqual(چپ، راست) دو نمونه AggregateQuerySnapshot را برای برابری مقایسه می کند. دو نمونه AggregateQuerySnapshot "برابر" در نظر گرفته می شوند اگر پرس و جوهای زیربنایی داشته باشند که داده های برابر و یکسان را با هم مقایسه کنند.
queryEqual (چپ، راست) اگر پرس و جوهای ارائه شده به همان مجموعه اشاره کنند و محدودیت های یکسانی را اعمال کنند، مقدار true را برمی گرداند.
refEqual (چپ، راست) اگر ارجاعات ارائه شده برابر باشند، true را برمی گرداند.
snapshot برابر (چپ، راست) اگر عکس‌های فوری ارائه شده برابر باشند، true برمی‌گرداند.
تابع (محدود، ...)
حد (محدود) یک QueryLimitConstraint ایجاد می کند که فقط اولین اسناد منطبق را برمی گرداند.
limitToLast(Limit) یک QueryLimitConstraint ایجاد می کند که فقط آخرین اسناد منطبق را برمی گرداند. شما باید حداقل یک عبارت orderBy برای پرس و جوهای limitToLast مشخص کنید، در غیر این صورت یک استثنا در طول اجرا ایجاد می شود.
تابع (logLevel، ...)
setLogLevel(logLevel) پرحرفی گزارش‌های Cloud Firestore (اشکال‌زدایی، خطا یا بی‌صدا) را تنظیم می‌کند.
تابع (n، ...)
افزایش (n) مقدار خاصی را برمی گرداند که می تواند با setDoc() یا updateDoc() استفاده شود که به سرور می گوید مقدار فعلی فیلد را با مقدار داده شده افزایش دهد. اگر عملوند یا مقدار فیلد فعلی از دقت ممیز شناور استفاده کند، تمام محاسبات از معنای IEEE 754 پیروی می کنند. اگر هر دو مقدار صحیح باشند، مقادیر خارج از محدوده اعداد ایمن جاوا اسکریپت ( Number.MIN_SAFE_INTEGER تا Number.MAX_SAFE_INTEGER ) نیز مشمول از دست دادن دقت می شوند. علاوه بر این، پس از پردازش توسط Firestore Backend، تمام عملیات اعداد صحیح بین -2^63 و 2^63-1 محدود می شوند. اگر مقدار فیلد فعلی از نوع number نباشد، یا اگر فیلد هنوز وجود نداشته باشد، تبدیل فیلد را روی مقدار داده شده تنظیم می‌کند.
تابع (پرس و جو، ...)
getAggregate (پرس و جو، aggregateSpec) تجمیع های مشخص شده را روی اسناد در مجموعه نتایج پرس و جو داده شده بدون بارگیری واقعی اسناد محاسبه می کند. استفاده از این تابع برای انجام تجمیع کارآمد است زیرا فقط مقادیر تجمع نهایی، نه داده های اسناد، دانلود می شوند. این تابع می‌تواند در مواردی که مجموعه نتایج برای دانلود کامل (هزاران سند) بسیار زیاد است، اسناد را جمع‌بندی کند.
getCount (پرس و جو) تعداد اسناد موجود در مجموعه نتایج جستجوی داده شده را بدون بارگیری واقعی اسناد محاسبه می کند. استفاده از این تابع برای شمارش اسناد کارآمد است زیرا فقط شمارش نهایی و نه داده های اسناد دانلود می شود. این تابع می‌تواند اسناد را در مواردی بشمارد که مجموعه نتایج برای دانلود کامل (هزاران سند) بسیار زیاد است.
getDocs (پرس و جو) پرس و جو را اجرا می کند و نتایج را به صورت QuerySnapshot برمی گرداند . تمام پرس و جوها مستقیماً توسط سرور اجرا می شوند، حتی اگر پرس و جو قبلاً اجرا شده باشد. تغییرات اخیر تنها در صورتی در نتایج بازیابی شده منعکس می شوند که قبلاً توسط backend اعمال شده باشند. اگر مشتری آفلاین باشد، عملیات با شکست مواجه می شود. برای مشاهده نتایج ذخیره شده قبلی و تغییرات محلی، از Firestore SDK کامل استفاده کنید.
پرس و جو (پرس و جو، ترکیب فیلتر، محدودیت های پرس و جو) یک نمونه تغییرناپذیر جدید از Query ایجاد می کند که شامل محدودیت های پرس و جو اضافی نیز می شود.
پرس و جو (پرس و جو، محدودیت های پرس و جو) یک نمونه تغییرناپذیر جدید از Query ایجاد می کند که شامل محدودیت های پرس و جو اضافی نیز می شود.
تابع (Query Constraints، ...)
و (QueryConstraints) یک QueryCompositeFilterConstraint جدید ایجاد می کند که ترکیبی از محدودیت های فیلتر داده شده است. یک فیلتر پیوندی در صورتی شامل یک سند می شود که همه فیلترهای داده شده را برآورده کند.
یا (QueryConstraints) یک QueryCompositeFilterConstraint جدید ایجاد می کند که جدایی از محدودیت های فیلتر داده شده است. یک فیلتر جداکننده در صورتی که هر یک از فیلترهای داده شده را برآورده کند شامل یک سند می شود.
تابع (مرجع، ...)
addDoc (مرجع، داده) یک سند جدید به CollectionReference مشخص شده با داده های داده شده اضافه کنید و به طور خودکار یک شناسه سند به آن اختصاص دهید. نتیجه این نوشتن فقط در خواندن سند که پس از رفع قول برگشتی رخ می دهد منعکس می شود. اگر مشتری آفلاین باشد، نوشتن با شکست مواجه می شود. اگر می‌خواهید تغییرات محلی یا نوشته‌های بافر را تا زمانی که مشتری آنلاین است ببینید، از Firestore SDK کامل استفاده کنید.
مجموعه (مرجع، مسیر، بخش‌های مسیر) یک نمونه CollectionReference دریافت می کند که به یک زیر مجموعه reference در مسیر نسبی مشخص شده اشاره می کند.
مجموعه (مرجع، مسیر، بخش‌های مسیر) یک نمونه CollectionReference دریافت می کند که به یک زیر مجموعه reference در مسیر نسبی مشخص شده اشاره می کند.
حذف سند (مرجع) سند ارجاع شده توسط DocumentReference مشخص شده را حذف می کند. حذف فقط در خواندن سند که پس از رفع قول برگشتی رخ می دهد منعکس می شود. اگر مشتری آفلاین باشد، حذف انجام نمی شود. اگر می‌خواهید تغییرات محلی یا نوشته‌های بافر را تا زمانی که مشتری آنلاین است ببینید، از Firestore SDK کامل استفاده کنید.
doc (مرجع، مسیر، بخش‌های مسیر) یک نمونه DocumentReference دریافت می کند که به یک سند در reference در مسیر نسبی مشخص شده اشاره می کند. اگر هیچ مسیری مشخص نشده باشد، یک شناسه منحصربه‌فرد به‌طور خودکار برای DocumentReference بازگشتی استفاده می‌شود.
doc (مرجع، مسیر، بخش‌های مسیر) یک نمونه DocumentReference دریافت می کند که به یک سند در reference در مسیر نسبی مشخص شده اشاره می کند.
getDoc (مرجع) سند ارجاع شده توسط مرجع سند مشخص شده را می خواند. همه اسناد مستقیماً از سرور واکشی می شوند، حتی اگر سند قبلاً خوانده یا اصلاح شده باشد. تغییرات اخیر تنها در صورتی در DocumentSnapshot بازیابی شده منعکس می‌شوند که قبلاً توسط backend اعمال شده باشند. اگر مشتری آفلاین باشد، خواندن ناموفق است. اگر دوست دارید از کش استفاده کنید یا تغییرات محلی را مشاهده کنید، لطفاً از Firestore SDK کامل استفاده کنید.
setDoc (مرجع، داده) به سندی که توسط DocumentReference مشخص شده ارجاع داده می‌نویسد. اگر سند هنوز وجود نداشته باشد، ایجاد می شود. نتیجه این نوشتن فقط در خواندن سند که پس از رفع قول برگشتی رخ می دهد منعکس می شود. اگر مشتری آفلاین باشد، نوشتن با شکست مواجه می شود. اگر می‌خواهید تغییرات محلی یا نوشته‌های بافر را تا زمانی که مشتری آنلاین است ببینید، از Firestore SDK کامل استفاده کنید.
setDoc (مرجع، داده ها، گزینه ها) به سندی که توسط DocumentReference مشخص شده ارجاع داده می‌نویسد. اگر سند هنوز وجود نداشته باشد، ایجاد می شود. اگر فیلدهای merge یا mergeFields ارائه دهید، داده های ارائه شده را می توان در یک سند موجود ادغام کرد. نتیجه این نوشتن فقط در خواندن سند که پس از رفع قول برگشتی رخ می دهد منعکس می شود. اگر مشتری آفلاین باشد، نوشتن با شکست مواجه می شود. اگر می‌خواهید تغییرات محلی یا نوشته‌های بافر را تا زمانی که مشتری آنلاین است ببینید، از Firestore SDK کامل استفاده کنید.
updateDoc (مرجع، داده ها) فیلدهای سندی که توسط DocumentReference مشخص شده به آن ارجاع شده است را به روز می کند. اگر بر روی سندی که وجود ندارد اعمال شود، به‌روزرسانی ناموفق خواهد بود. نتیجه این به‌روزرسانی فقط در خواندن اسنادی که پس از رفع قول برگشتی رخ می‌دهد، منعکس می‌شود. اگر مشتری آفلاین باشد، به روز رسانی انجام نمی شود. اگر می‌خواهید تغییرات محلی یا نوشته‌های بافر را تا زمانی که مشتری آنلاین است ببینید، از Firestore SDK کامل استفاده کنید.
updateDoc (مرجع، فیلد، مقدار، بیشترFieldsAndValues) فیلدهای به روز رسانی در سندی که توسط DocumentReference مشخص شده به آن ارجاع داده شده است، اگر برای سندی که وجود ندارد اعمال شود، به روز رسانی با شکست مواجه خواهد شد. فیلدهای تودرتو را می توان با ارائه رشته های مسیر میدان جدا شده با نقطه یا با ارائه اشیاء FieldPath به روز کرد. نتیجه این به‌روزرسانی فقط در خواندن اسنادی که پس از رفع قول برگشتی رخ می‌دهد، منعکس می‌شود. اگر مشتری آفلاین باشد، به روز رسانی انجام نمی شود. اگر می‌خواهید تغییرات محلی یا نوشته‌های بافر را تا زمانی که مشتری آنلاین است ببینید، از Firestore SDK کامل استفاده کنید.
تابع (عکس فوری، ...)
endAt (عکس فوری) یک QueryEndAtConstraint ایجاد می کند که مجموعه نتیجه را تغییر می دهد تا به سند ارائه شده (شامل) ختم شود. موقعیت پایانی نسبت به ترتیب پرس و جو است. سند باید شامل تمام فیلدهای ارائه شده در orderBy پرس و جو باشد.
پایان قبل (عکس فوری) یک QueryEndAtConstraint ایجاد می کند که نتیجه مجموعه را تغییر می دهد تا قبل از سند ارائه شده (انحصاری) به پایان برسد. موقعیت پایانی نسبت به ترتیب پرس و جو است. سند باید شامل تمام فیلدهای ارائه شده در orderBy پرس و جو باشد.
startAfter (عکس فوری) یک QueryStartAtConstraint ایجاد می کند که مجموعه نتیجه را تغییر می دهد تا بعد از سند ارائه شده شروع شود (انحصاری). موقعیت شروع نسبت به ترتیب پرس و جو است. سند باید شامل تمام فیلدهای ارائه شده در orderBy پرس و جو باشد.
startAt (عکس فوری) یک QueryStartAtConstraint ایجاد می کند که مجموعه نتایج را تغییر می دهد تا از سند ارائه شده شروع شود (شامل). موقعیت شروع نسبت به ترتیب پرس و جو است. سند باید شامل تمام فیلدهای ارائه شده در orderBy این درخواست باشد.

کلاس ها

کلاس شرح
AggregateField نشان دهنده تجمعی است که می تواند توسط Firestore انجام شود.
AggregateQuerySnapshot نتایج اجرای یک پرس و جو تجمع.
بایت ها یک شیء تغییرناپذیر که آرایه ای از بایت ها را نشان می دهد.
مرجع مجموعه یک شی CollectionReference را می توان برای افزودن اسناد، دریافت ارجاع اسناد، و پرس و جو برای اسناد استفاده کرد (با استفاده از query() ).
مرجع سند DocumentReference به یک مکان سند در پایگاه داده Firestore اشاره دارد و می تواند برای نوشتن، خواندن یا گوش دادن به مکان مورد استفاده قرار گیرد. سند در محل ارجاع ممکن است وجود داشته باشد یا نباشد.
عکس مستند یک DocumentSnapshot حاوی داده هایی است که از یک سند در پایگاه داده Firestore شما خوانده می شود. داده ها را می توان با .data() یا .get(<field>) استخراج کرد تا یک فیلد خاص به دست آید. برای یک DocumentSnapshot که به یک سند غیرموجود اشاره می‌کند، هر گونه دسترسی به داده به صورت «تعریف نشده» برمی‌گردد. شما می توانید از متد exists() برای تایید صریح وجود یک سند استفاده کنید.
FieldPath FieldPath به یک فیلد در یک سند اشاره دارد. مسیر ممکن است از یک نام فیلد واحد (اشاره به یک فیلد سطح بالا در سند) یا لیستی از نام فیلدها (اشاره به یک فیلد تودرتو در سند) باشد. با ارائه نام فیلدها یک FieldPath ایجاد کنید. اگر بیش از یک نام فیلد ارائه شود، مسیر به یک فیلد تودرتو در یک سند اشاره می کند.
FieldValue مقادیر Sentinel که می توانند هنگام نوشتن فیلدهای سند با set() یا update() استفاده شوند.
آتش نشانی رابط سرویس Cloud Firestore. مستقیماً با این سازنده تماس نگیرید. در عوض، از getFirestore() استفاده کنید .
FirestoreError خطایی که توسط یک عملیات Firestore برگردانده شد.
ژئوپوینت یک شیء تغییرناپذیر که موقعیت جغرافیایی را در Firestor نشان می دهد. مکان به صورت جفت طول و عرض جغرافیایی نشان داده می شود. مقادیر عرض جغرافیایی در محدوده [-90، 90] هستند. مقادیر طول جغرافیایی در محدوده [-180، 180] هستند.
پرس و جو Query به پرسشی اشاره دارد که می توانید آن را بخوانید یا گوش دهید. همچنین می توانید با افزودن فیلترها و سفارش دادن، اشیاء Query تصفیه شده را بسازید.
QueryCompositeFilterConstraint یک QueryCompositeFilterConstraint برای محدود کردن مجموعه اسناد بازگردانده شده توسط یک پرس و جوی Firestore با اجرای OR یا AND از چندین QueryFieldFilterConstraint استفاده می شود. s یا QueryCompositeFilterConstraint س QueryCompositeFilterConstraint ها با فراخوانی یا() یا and() ایجاد می شوند و سپس می توانند به query() ارسال شوند تا یک نمونه query جدید ایجاد شود که حاوی QueryCompositeFilterConstraint نیز باشد.
QueryConstraint QueryConstraint برای محدود کردن مجموعه اسناد بازگردانده شده توسط یک پرس و جو Firestore استفاده می شود. QueryConstraint ها با فراخوانی Where() ایجاد می شوند. ، سفارش توسط() ، شروع کن در() ، startAfter() ، endBefore() ، endAt() ، حد() ، limitToLast() و سپس می تواند به query() ارسال شود تا یک نمونه کوئری جدید ایجاد کند که حاوی این QueryConstraint نیز باشد.
QueryDocumentSnapshot QueryDocumentSnapshot حاوی داده هایی است که از یک سند در پایگاه داده Firestore شما به عنوان بخشی از یک پرس و جو خوانده می شود. وجود سند تضمین شده است و داده های آن را می توان با .data() یا .get(<field>) استخراج کرد تا یک فیلد خاص به دست آید. یک QueryDocumentSnapshot همان سطح API را ارائه می دهد که یک DocumentSnapshot . از آنجایی که نتایج پرس و جو فقط حاوی اسناد موجود هستند، ویژگی exists همیشه true خواهد بود و data() هرگز 'undefined' برنمی‌گرداند.
QueryEndAtConstraint QueryEndAtConstraint برای حذف اسناد از انتهای مجموعه نتایجی که توسط یک پرس و جو Firestore بازگردانده شده است استفاده می شود. QueryEndAtConstraint ها با فراخوانی endAt() یا endBefore() ایجاد می شوند و سپس می توانند به query() ارسال شوند تا یک نمونه query جدید ایجاد شود که حاوی این QueryEndAtConstraint نیز باشد.
QueryFieldFilterConstraint یک QueryFieldFilterConstraint برای محدود کردن مجموعه اسناد بازگردانده شده توسط یک پرس و جو Firestore با فیلتر کردن یک یا چند فیلد سند استفاده می شود. QueryFieldFilterConstraint ها با فراخوانی () Where ایجاد می شوند و سپس می توانند به query() ارسال شوند تا یک نمونه query جدید ایجاد شود که حاوی این QueryFieldFilterConstraint نیز باشد.
QueryLimitConstraint QueryLimitConstraint برای محدود کردن تعداد اسناد بازگردانده شده توسط یک پرس و جو Firestore استفاده می شود. QueryLimitConstraint ها با فراخوانی limit() یا limitToLast() ایجاد می شوند و سپس می توانند به query() ارسال شوند تا یک نمونه query جدید ایجاد شود که حاوی این QueryLimitConstraint نیز باشد.
QueryOrderByConstraint یک QueryOrderByConstraint برای مرتب کردن مجموعه اسنادی که توسط یک پرس و جوی Firestore برگردانده شده است استفاده می شود. QueryOrderByConstraint ها با فراخوانی orderBy() ایجاد می شوند و سپس می توانند به query() ارسال شوند تا یک نمونه query جدید ایجاد شود که حاوی این QueryOrderByConstraint نیز باشد. توجه: اسنادی که حاوی فیلد orderBy نیستند در نتیجه پرس و جو وجود نخواهند داشت.
QuerySnapshot یک QuerySnapshot حاوی صفر یا چند شیء DocumentSnapshot است که نتایج یک پرس و جو را نشان می دهد. اسناد را می توان به عنوان یک آرایه از طریق ویژگی docs یا با استفاده از روش forEach شمارش کرد. تعداد اسناد را می توان از طریق ویژگی های empty و size تعیین کرد.
QueryStartAtConstraint یک QueryStartAtConstraint برای حذف اسناد از شروع مجموعه نتایجی که توسط یک پرس و جوی Firestore بازگردانده شده است استفاده می شود. QueryStartAtConstraint ها با فراخوانی startAt() یا startAfter() ایجاد می شوند و سپس می توانند به query() ارسال شوند تا یک نمونه query جدید ایجاد شود که حاوی این QueryStartAtConstraint نیز باشد.
مهر زمان Timestamp نشان دهنده نقطه ای از زمان مستقل از هر منطقه زمانی یا تقویمی است که به صورت ثانیه و کسری از ثانیه با وضوح نانوثانیه در زمان UTC Epoch نمایش داده می شود. با استفاده از تقویم گرگوری پرولپتیک کدگذاری شده است که تقویم میلادی را به عقب تا سال اول گسترش می دهد. با فرض اینکه تمام دقیقه‌ها 60 ثانیه طول بکشند، کدگذاری می‌شود، یعنی ثانیه‌های کبیسه «لکه‌دار» شده‌اند به طوری که برای تفسیر به جدول دوم کبیسه نیازی نیست. محدوده از 0001-01-01T00:00:00Z تا 9999-12-31T23:59:59.999999999Z است. برای مثال و مشخصات بیشتر، به تعریف Timestamp مراجعه کنید .
معامله اشاره به یک معامله شی Transaction که به updateFunction یک تراکنش ارسال می شود، روش هایی را برای خواندن و نوشتن داده ها در زمینه تراکنش فراهم می کند. به runTransaction() مراجعه کنید .
WriteBatch یک دسته نوشتن که برای انجام چندین نوشتن به عنوان یک واحد اتمی استفاده می شود. یک شی WriteBatch را می توان با فراخوانی writeBatch() به دست آورد. . روش هایی را برای افزودن نوشته ها به دسته نوشتن ارائه می کند. تا زمانی که WriteBatch.commit() فراخوانی نشود، هیچ یک از نوشته ها متعهد (یا به صورت محلی قابل مشاهده) نخواهد بود.

رابط ها

رابط شرح
AggregateSpec مجموعه ای از تجمعات و نام مستعار آنها را مشخص می کند.
DocumentData داده های سند (برای استفاده با setDoc() ) شامل فیلدهایی است که با مقادیر نگاشت شده اند.
FirestoreDataConverter مبدلی که توسط withConverter() برای تبدیل اشیاء کاربر از نوع AppModelType به داده های Firestore از نوع DbModelType استفاده می شود. استفاده از مبدل به شما امکان می دهد تا آرگومان های نوع عمومی را هنگام ذخیره و بازیابی اشیاء از Firestore مشخص کنید. در این زمینه، "AppModel" کلاسی است که در یک برنامه کاربردی برای بسته بندی اطلاعات و عملکردهای مرتبط با هم استفاده می شود. برای مثال، چنین کلاسی می‌تواند دارای ویژگی‌هایی با انواع داده‌های تودرتو، پیچیده، ویژگی‌های مورد استفاده برای حافظه‌گذاری، ویژگی‌های انواعی باشد که توسط Firestore پشتیبانی نمی‌شوند (مانند symbol و bigint )، و توابع کمکی که عملیات ترکیبی را انجام می‌دهند. چنین کلاس هایی برای ذخیره در پایگاه داده Firestore مناسب و/یا امکان پذیر نیستند. در عوض، نمونه‌هایی از چنین کلاس‌هایی باید به «اشیاء جاوا اسکریپت قدیمی ساده» (POJOs) با ویژگی‌های منحصراً ابتدایی تبدیل شوند، که به طور بالقوه درون سایر POJO یا آرایه‌های POJO قرار دارند. در این زمینه، این نوع به عنوان "DbModel" نامیده می شود و یک شی مناسب برای ماندگاری در Firestore است. برای راحتی، برنامه‌ها می‌توانند FirestoreDataConverter پیاده‌سازی کنند و مبدل را با اشیاء Firestore مانند DocumentReference یا Query ثبت کنند تا هنگام ذخیره‌سازی در Firestore به طور خودکار AppModel را به DbModel تبدیل کنند و هنگام بازیابی از Firestore DbModel را به AppModel تبدیل کنند.
تنظیمات پیکربندی های سفارشی را برای نمونه Cloud Firestore شما مشخص می کند. قبل از فراخوانی هر روش دیگری باید اینها را تنظیم کنید.
گزینه های تراکنش گزینه هایی برای سفارشی کردن رفتار تراکنش

نام مستعار را تایپ کنید

نام مستعار را تایپ کنید شرح
AddPrefixToKeys نقشه جدیدی را برمی‌گرداند که در آن هر کلید با کلید بیرونی به یک نقطه اضافه شده است.
AggregateFieldType اتحاد همه انواع AggregateField که توسط Firestore پشتیبانی می شوند.
AggregateSpecData نوعی که کلیدهای آن از یک AggregateSpec گرفته شده است و مقادیر آن حاصل تجمیع انجام شده توسط AggregateField مربوطه از ورودی AggregateSpec است.
AggregateType نوع اتحاد نشان دهنده نوع جمعی است که باید انجام شود.
ChildUpdateFields کمک کننده برای محاسبه فیلدهای تو در تو برای نوع معین T1. این برای توزیع انواع اتحادیه مانند undefined | {...} لازم است undefined | {...} (برای قطعات اختیاری اتفاق می افتد) یا {a: A} | {b: B} . در این مورد، V برای توزیع انواع اتحاد T[K] در Record استفاده می‌شود، زیرا T[K] به عنوان یک عبارت ارزیابی می‌شود و توزیع نمی‌شود. به https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types مراجعه کنید
FirestoreErrorCode مجموعه کدهای وضعیت Firestore. کدهایی که در اینجا توسط gRPC در معرض دید قرار گرفته اند یکسان هستند: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md مقادیر ممکن: - 'لغو': عملیات لغو شد (معمولاً توسط تماس گیرنده). - 'ناشناخته': خطای ناشناخته یا خطایی از یک دامنه خطای دیگر. - 'invalid-argument': کلاینت یک آرگومان نامعتبر را مشخص کرده است. توجه داشته باشید که این با "پیش شرط شکست خورده" متفاوت است. 'invalid-argument' آرگومان هایی را نشان می دهد که بدون توجه به وضعیت سیستم مشکل ساز هستند (مثلاً نام فیلد نامعتبر). - 'deadline-exceeded': مهلت قبل از تکمیل عملیات منقضی شده است. برای عملیاتی که وضعیت سیستم را تغییر می دهد، حتی اگر عملیات با موفقیت به پایان رسیده باشد، ممکن است این خطا برگردانده شود. به عنوان مثال، یک پاسخ موفقیت‌آمیز از یک سرور می‌توانست آنقدر به تأخیر بیفتد که مهلت آن به پایان برسد. - 'نیافتاده': برخی از اسناد درخواستی یافت نشد. - "از قبل وجود دارد": برخی از اسنادی که ما سعی کردیم ایجاد کنیم، از قبل وجود دارد. - "مجوز رد شده": تماس گیرنده مجوز اجرای عملیات مشخص شده را ندارد. - "منبع تمام شده": برخی از منابع تمام شده است، شاید سهمیه هر کاربر، یا شاید کل سیستم فایل خالی است. - 'failed-precondition': عملیات رد شد زیرا سیستم در وضعیت لازم برای اجرای عملیات نیست. - 'aborted': عملیات متوقف شد، معمولاً به دلیل یک مشکل همزمانی مانند سقط تراکنش، و غیره - 'خارج از محدوده': عملیات از محدوده معتبر گذشته است. - 'unmplemented': عملیات اجرا نمی شود یا پشتیبانی نمی شود/فعال می شود. - 'داخلی': خطاهای داخلی. به این معنی که برخی از متغیرهای مورد انتظار سیستم زیربنایی شکسته شده است. اگر یکی از این خطاها را مشاهده کردید، چیزی بسیار خراب است. - 'unavailable': این سرویس در حال حاضر در دسترس نیست. این به احتمال زیاد یک وضعیت گذرا است و ممکن است با تلاش مجدد با عقب نشینی اصلاح شود. - "از دست دادن داده": از دست دادن یا فساد غیرقابل جبران داده. - 'unauthenticated': درخواست اعتبار احراز هویت معتبر برای عملیات ندارد.
NestedUpdateFields برای هر فیلد (مثلا "نوار")، همه کلیدهای تودرتو را پیدا کنید (مثلا { 'bar.baz': T1، 'bar.qux': T2 } ). آنها را با هم قطع کنید تا یک نقشه واحد حاوی تمام کلیدهای ممکن که همه به عنوان اختیاری علامت گذاری شده اند ایجاد کنید
OrderByDirection جهت یک عبارت orderBy() به صورت 'desc' یا 'asc' (نزولی یا صعودی) مشخص می شود.
PartialWithFieldValue شبیه به Partial<T> Typescript است، اما اجازه می دهد تا فیلدهای تودرتو حذف شوند و FieldValues ​​به عنوان مقادیر ویژگی ارسال شوند.
اولیه انواع ابتدایی
QueryConstraintType محدودیت های جستجوی مختلف موجود در این SDK را شرح می دهد.
QueryFilterConstraint QueryFilterConstraint یک نوع اتحادیه کمکی است که QueryFieldFilterConstraint و QueryCompositeFilterConstraint را نشان می دهد. .
QueryNonFilterConstraint QueryNonFilterConstraint یک نوع اتحادیه کمکی است که QueryConstraintهایی را نشان می دهد که برای محدود کردن یا مرتب کردن مجموعه اسناد استفاده می شوند، اما به طور صریح در یک فیلد سند فیلتر نمی شوند. QueryNonFilterConstraint ها با فراخوانی orderBy ایجاد می شوند ، شروع کن در() ، startAfter() ، endBefore() ، endAt() ، limit() یا limitToLast() و سپس می توان به query() ارسال کرد تا یک نمونه query جدید ایجاد کند که حاوی QueryConstraint نیز باشد.
SetOptions یک شی گزینه که رفتار setDoc() را پیکربندی می کند. ، و تماس می گیرد. این تماس‌ها را می‌توان به گونه‌ای پیکربندی کرد که به‌جای بازنویسی کامل اسناد هدف، با ارائه یک SetOptions با merge: true ادغام‌های ریز را انجام دهند.
UnionTo Intersection با توجه به نوع اتحاد U = T1 | T2 | ... ، یک نوع متقاطع (T1 & T2 & ...) را برمی گرداند. از انواع شرطی توزیعی و استنتاج از انواع شرطی استفاده می کند. این کار به این دلیل کار می کند که چندین نامزد برای یک متغیر نوع مشابه در موقعیت های متضاد باعث می شود که یک نوع تقاطع استنتاج شود. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection -نوع
بروزرسانی اطلاعات به روز رسانی داده ها (برای استفاده با updateDoc() ) که از مسیرهای فیلد (مثلا 'foo' یا 'foo.baz') تشکیل شده است که به مقادیر نگاشت شده اند. فیلدهایی که حاوی نقطه هستند به فیلدهای تودرتو در سند اشاره می کنند. FieldValues ​​را می توان به عنوان مقادیر ویژگی ارسال کرد.
WhereFilterOp شرایط فیلتر در یک عبارت Where() با استفاده از رشته های '&lt;'، '&lt;='، '=='، '!='، '&gt;='، '&gt;'، 'array-contains' مشخص می شود. ، "in"، "array-contains-any" و "not-in".
WithFieldValue به FieldValues ​​اجازه می دهد تا با حفظ ایمنی نوع، به عنوان یک مقدار ویژگی ارسال شوند.

عملکرد (برنامه، ...)

getFirestore (برنامه)

نمونه Firestore پیش‌فرض موجود را که با FirebaseApp ارائه شده مرتبط است، برمی‌گرداند . اگر هیچ نمونه ای وجود نداشته باشد، یک نمونه جدید با تنظیمات پیش فرض مقداردهی اولیه می کند.

امضا:

export declare function getFirestore(app: FirebaseApp): Firestore;

مولفه های

پارامتر تایپ کنید شرح
برنامه Firebase App نمونه FirebaseApp که نمونه Firestore برگشتی با آن مرتبط است.

برمی گرداند:

آتش نشانی

نمونه Firestore برنامه ارائه شده.

getFirestore (برنامه، شناسه پایگاه داده)

این API به عنوان یک پیش نمایش برای توسعه دهندگان ارائه شده است و ممکن است بر اساس بازخوردی که دریافت می کنیم تغییر کند. از این API در محیط تولید استفاده نکنید.

نمونه Firestore موجود را که با FirebaseApp ارائه شده مرتبط است، برمی‌گرداند . اگر هیچ نمونه ای وجود نداشته باشد، یک نمونه جدید با تنظیمات پیش فرض مقداردهی اولیه می کند.

امضا:

export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;

مولفه های

پارامتر تایپ کنید شرح
برنامه Firebase App نمونه FirebaseApp که نمونه Firestore برگشتی با آن مرتبط است.
شناسه پایگاه داده رشته نام پایگاه داده.

برمی گرداند:

آتش نشانی

نمونه Firestore برنامه ارائه شده.

InitializeFirestore (برنامه، تنظیمات)

نمونه جدیدی از Cloud Firestore را با تنظیمات ارائه شده راه اندازی می کند. فقط می توان قبل از هر توابع دیگری از جمله getFirestore() فراخوانی کرد. . اگر تنظیمات سفارشی خالی باشد، این تابع معادل فراخوانی getFirestore() است. .

امضا:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore;

مولفه های

پارامتر تایپ کنید شرح
برنامه Firebase App FirebaseApp که نمونه Firestore با آن مرتبط خواهد شد.
تنظیمات تنظیمات یک شی تنظیمات برای پیکربندی نمونه Firestore .

برمی گرداند:

آتش نشانی

یک نمونه Firestore که به تازگی راه اندازی شده است.

InitializeFirestore (برنامه، تنظیمات، شناسه پایگاه داده)

این API به عنوان یک پیش نمایش برای توسعه دهندگان ارائه شده است و ممکن است بر اساس بازخوردی که دریافت می کنیم تغییر کند. از این API در محیط تولید استفاده نکنید.

نمونه جدیدی از Cloud Firestore را با تنظیمات ارائه شده راه اندازی می کند. فقط می توان قبل از هر توابع دیگری از جمله getFirestore() فراخوانی کرد. . اگر تنظیمات سفارشی خالی باشد، این تابع معادل فراخوانی getFirestore() است. .

امضا:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings, databaseId?: string): Firestore;

مولفه های

پارامتر تایپ کنید شرح
برنامه Firebase App FirebaseApp که نمونه Firestore با آن مرتبط خواهد شد.
تنظیمات تنظیمات یک شی تنظیمات برای پیکربندی نمونه Firestore .
شناسه پایگاه داده رشته نام پایگاه داده.

برمی گرداند:

آتش نشانی

یک نمونه Firestore که به تازگی راه اندازی شده است.

عملکرد (Firestore، ...)

مجموعه (Firestore، مسیر، pathSegments)

یک نمونه CollectionReference دریافت می کند که به مجموعه در مسیر مطلق مشخص شده اشاره می کند.

امضا:

export declare function collection(firestore: Firestore, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

مولفه های

پارامتر تایپ کنید شرح
آتش نشانی آتش نشانی ارجاع به نمونه اصلی Firestore .
مسیر رشته یک مسیر جدا شده به یک مجموعه.
pathSegments رشته[] بخش های مسیر اضافی برای اعمال نسبت به آرگومان اول.

برمی گرداند:

مرجع مجموعه < DocumentData , DocumentData >

نمونه CollectionReference .

استثناها

اگر مسیر نهایی دارای تعداد حتی بخش هایی باشد و به یک مجموعه اشاره نمی کند.

گروه مجموعه (Firestore ، CollectionID)

یک نمونه Query جدیدی را ایجاد و باز می گرداند که شامل کلیه اسناد موجود در پایگاه داده است که در یک مجموعه یا زیر مجموعه با collectionId داده شده موجود است .

امضا:

export declare function collectionGroup(firestore: Firestore, collectionId: string): Query<DocumentData, DocumentData>;

مولفه های

پارامتر تایپ کنید شرح
فحش فحش اشاره ای به نمونه Firestore ریشه.
جمع آوری رشته مجموعه ها را برای پرس و جو مشخص می کند. هر مجموعه یا زیر مجموعه با این شناسه به عنوان آخرین بخش مسیر آن گنجانده شده است. نمی تواند حاوی برش باشد.

برمی گرداند:

پرس و جو < DocumentData ، documentdata >

Query ایجاد شده .

ConnectFirestoreEmulator (Firestore ، Host ، Port ، گزینه ها)

این نمونه را برای برقراری ارتباط با شبیه ساز Firestore Cloud اصلاح کنید.

امضا:

export declare function connectFirestoreEmulator(firestore: Firestore, host: string, port: number, options?: {
    mockUserToken?: EmulatorMockTokenOptions | string;
}): void;

مولفه های

پارامتر تایپ کنید شرح
فحش فحش نمونه Firestore برای پیکربندی برای اتصال به شبیه ساز.
میزبان رشته میزبان شبیه ساز (سابق: localhost).
بندر عدد پورت شبیه ساز (سابق: 9000).
گزینه ها {mockusertoken ؟: emulatormocktokenoptions | رشته؛ }

برمی گرداند:

خالی

DOC (Firestore ، Path ، Pathsegments)

یک نمونه DocumentReference می شود که به سند در مسیر مطلق مشخص شده اشاره دارد.

امضا:

export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

مولفه های

پارامتر تایپ کنید شرح
فحش فحش اشاره ای به نمونه Firestore ریشه.
مسیر رشته مسیری جدا از هم جدا به یک سند.
مسیر رشته [] بخش های مسیر اضافی که نسبت به اولین آرگومان اعمال می شود.

برمی گرداند:

مرجع مستندات < DocumentData ، documentdata >

نمونه DocumentReference .

استثناها

اگر مسیر نهایی تعداد عجیب و غریب از بخش ها داشته باشد و به یک سند اشاره نمی کند.

Runtransaction (Firestore ، UpdateFunction ، گزینه ها)

updateFunction داده شده را اجرا می کند و سپس تلاش می کند تا تغییرات اعمال شده در معامله را انجام دهد. اگر هر سندی که در معامله خوانده شده تغییر کرده باشد ، Cloud Firestore updateFunction را بازسازی می کند . اگر پس از 5 تلاش نتواند مرتکب شود ، معامله با شکست مواجه می شود.

حداکثر تعداد نوشتن مجاز در یک معامله واحد 500 است.

امضا:

export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;

مولفه های

پارامتر تایپ کنید شرح
فحش فحش مرجع به پایگاه داده Firestore برای اجرای این معامله در برابر.
عملکرد به روزرسانی (معامله: معامله ) => وعده <t> تابع اجرای در زمینه معامله.
گزینه ها معامله یک شی گزینه برای پیکربندی حداکثر تعداد تلاش برای انجام.

برمی گرداند:

قول <t>

اگر معامله با موفقیت انجام شود یا صریحاً سقط شود (عملکرد updateFunction یک وعده ناموفق را برگرداند) ، وعده ای که توسط updateFunction برگردانده شد به اینجا برگردانده می شود در غیر این صورت ، در صورت عدم موفقیت معامله ، یک وعده رد شده با خطای خرابی مربوطه بازگردانده می شود.

خاتمه (آتش نشانی)

نمونه Firestore ارائه شده را خاتمه می دهد.

پس از فراخوانی terminate() فقط از توابع clearIndexedDbPersistence() استفاده می شود. هر عملکرد دیگری یک FirestoreError پرتاب می کند . خاتمه هیچ نوشتن در انتظار را لغو نمی کند ، و هرگونه وعده ای که در انتظار پاسخ سرور هستند برطرف نمی شوند.

برای شروع مجدد پس از خاتمه ، یک نمونه جدید از Firestore با GetFirestore ایجاد کنید () .

امضا:

export declare function terminate(firestore: Firestore): Promise<void>;

مولفه های

پارامتر تایپ کنید شرح
فحش فحش نمونه Firestore برای خاتمه دادن.

برمی گرداند:

قول<باطل>

Promise که با موفقیت در نمونه برطرف می شود.

WritBatch (Firestore)

یک دسته نوشتن ایجاد می کند ، که برای انجام چندین نوشتن به عنوان یک عمل اتمی واحد استفاده می شود. حداکثر تعداد نوشتن مجاز در یک نوشتن واحد 500 است.

نتیجه این نوشته ها فقط در خوانده های سند منعکس می شود که پس از حل قول برگشتی رخ می دهد. اگر مشتری آفلاین باشد ، نوشتن شکست می خورد. اگر می خواهید تغییرات محلی را ببینید یا بافر می نویسد تا زمانی که مشتری آنلاین نباشد ، از SDK کامل Firestore استفاده کنید.

امضا:

export declare function writeBatch(firestore: Firestore): WriteBatch;

مولفه های

پارامتر تایپ کنید شرح
فحش فحش

برمی گرداند:

نوشتن

WriteBatch که می تواند برای اجرای اتمی چندین نوشتن استفاده شود.

تابع()

شمردن()

یک شیء AggregateField ایجاد کنید که می تواند برای محاسبه تعداد اسناد در مجموعه نتیجه یک پرس و جو استفاده شود.

امضا:

export declare function count(): AggregateField<number>;

برمی گرداند:

در کل <Number>

Deletefield ()

یک Sentinel را برای استفاده با به روز شده () یا setDoc () با {merge: true} برای علامت گذاری یک فیلد برای حذف برمی گرداند.

امضا:

export declare function deleteField(): FieldValue;

برمی گرداند:

مقادیر میدانی

DocumentID ()

برای مراجعه به شناسه یک سند ، یک FieldPath ویژه Sentinel را برمی گرداند. می توان از آن در پرس و جو برای مرتب سازی یا فیلتر کردن توسط شناسه سند استفاده کرد.

امضا:

export declare function documentId(): FieldPath;

برمی گرداند:

مسیر

getFirestore ()

نمونه Firestore پیش فرض موجود را که با Firebaseapp پیش فرض همراه است ، برمی گرداند . اگر نمونه ای وجود نداشته باشد ، نمونه جدیدی را با تنظیمات پیش فرض آغاز می کند.

امضا:

export declare function getFirestore(): Firestore;

برمی گرداند:

فحش

نمونه Firestore از برنامه ارائه شده.

servertimestamp ()

یک Sentinel که با SetDoc () یا به روز شده () استفاده می شود ، باز می گردد تا یک جدول زمانی تولید شده توسط سرور را در داده های نوشتاری درج کند.

امضا:

export declare function serverTimestamp(): FieldValue;

برمی گرداند:

مقادیر میدانی

تابع (DatabaseId ، ...)

GetFirestore (DatabaseId)

این API به عنوان پیش نمایش برای توسعه دهندگان ارائه شده است و ممکن است براساس بازخوردی که دریافت می کنیم تغییر کند. از این API در یک محیط تولید استفاده نکنید.

نمونه Firestore موجود را که با Firebaseapp پیش فرض همراه است ، برمی گرداند . اگر نمونه ای وجود نداشته باشد ، نمونه جدیدی را با تنظیمات پیش فرض آغاز می کند.

امضا:

export declare function getFirestore(databaseId: string): Firestore;

مولفه های

پارامتر تایپ کنید شرح
پایگاه داده رشته نام پایگاه داده.

برمی گرداند:

فحش

نمونه Firestore از برنامه ارائه شده.

عملکرد (عناصر ، ...)

arrayremove (عناصر)

مقدار ویژه ای را که می تواند با SetDoc () استفاده شود ، باز می گرداند و به سرور می گوید که عناصر داده شده را از هر مقدار آرایه ای که قبلاً در سرور وجود دارد حذف کند. تمام نمونه های هر عنصر مشخص شده از آرایه حذف می شوند. اگر زمینه اصلاح شده در حال حاضر آرایه ای نباشد ، با یک آرایه خالی رونویسی می شود.

امضا:

export declare function arrayRemove(...elements: unknown[]): FieldValue;

مولفه های

پارامتر تایپ کنید شرح
عناصر ناشناخته[] عناصر برای حذف از آرایه.

برمی گرداند:

مقادیر میدانی

Sentinel FieldValue برای استفاده در تماس با setDoc() یا updateDoc()

ArrayUnion (عناصر)

مقدار ویژه ای را که می تواند با SetDoc () یا به روز شده () که به سرور می گوید ، با هر مقدار آرایه ای که از قبل در سرور وجود دارد ، اتحاد کند. هر عنصر مشخص شده که قبلاً در آرایه وجود ندارد ، به انتها اضافه می شود. اگر زمینه اصلاح شده در حال حاضر آرایه ای نباشد ، با آرایه ای که دقیقاً عناصر مشخص شده را نشان می دهد ، رونویسی می شود.

امضا:

export declare function arrayUnion(...elements: unknown[]): FieldValue;

مولفه های

پارامتر تایپ کنید شرح
عناصر ناشناخته[] عناصر اتحاد به آرایه.

برمی گرداند:

مقادیر میدانی

Sentinel FieldValue برای استفاده در تماس با setDoc() یا updateDoc() .

عملکرد (فیلد ، ...)

میانگین (زمینه)

یک شیء AggregateField ایجاد کنید که می تواند برای محاسبه میانگین یک قسمت مشخص در طیف وسیعی از اسناد در مجموعه نتیجه یک پرس و جو استفاده شود.

امضا:

export declare function average(field: string | FieldPath): AggregateField<number | null>;

مولفه های

پارامتر تایپ کنید شرح
رشته رشته | مسیر قسمت را به طور متوسط ​​در مجموعه نتیجه مشخص می کند.

برمی گرداند:

در کل <شماره | null>

جمع (زمینه)

یک شیء AggregateField ایجاد کنید که می تواند برای محاسبه مجموع یک قسمت مشخص شده در طیف وسیعی از اسناد در مجموعه نتیجه یک پرس و جو استفاده شود.

امضا:

export declare function sum(field: string | FieldPath): AggregateField<number>;

مولفه های

پارامتر تایپ کنید شرح
رشته رشته | مسیر زمینه را برای جمع بندی در مجموعه نتیجه مشخص می کند.

برمی گرداند:

در کل <Number>

تابع (pathpath ، ...)

Orderby (FieldPath ، DirectionStr)

یک queryorderbyconstraint ایجاد می کند که نتیجه پرس و جو را توسط قسمت مشخص شده ، به صورت اختیاری به ترتیب نزولی به جای صعود مرتب می کند.

امضا:

export declare function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;

مولفه های

پارامتر تایپ کنید شرح
مسیر رشته | مسیر زمینه برای مرتب سازی.
جهت دار جهت دار جهت اختیاری برای مرتب سازی بر ("ASC" یا "DESC"). اگر مشخص نشده باشد ، سفارش صعودی خواهد بود.

برمی گرداند:

queryorderbyconstraint

queryorderbyconstaint ایجاد شده است .

WHERE (FieldPath ، OPSTR ، مقدار)

queryfieldfilterconstraint را ایجاد می کند که اجرای اسناد باید شامل قسمت مشخص شده باشد و این مقدار باید محدودیت رابطه ارائه شده را برآورده کند.

امضا:

export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;

مولفه های

پارامتر تایپ کنید شرح
مسیر رشته | مسیر مسیر مقایسه
عیاش Wherefilterop رشته عملیات (به عنوان مثال "& lt ؛" ، "& lt ؛ =" ، "==" ، "& lt ؛" ، "& lt ؛ =" ، "! =").
ارزش ناشناخته مقدار مقایسه

برمی گرداند:

queryfieldfilterconstraint

queryfieldfilterconstraint ایجاد شده است .

عملکرد (FieldValues ​​، ...)

Endat (FieldValues)

queryendatconstraint را ایجاد می کند که نتیجه تعیین شده را برای پایان دادن به زمینه های ارائه شده نسبت به ترتیب پرس و جو تغییر می دهد. ترتیب مقادیر میدانی باید با ترتیب سفارش توسط بندهای پرس و جو مطابقت داشته باشد.

امضا:

export declare function endAt(...fieldValues: unknown[]): QueryEndAtConstraint;

مولفه های

پارامتر تایپ کنید شرح
مقادیر میدانی ناشناخته[] مقادیر میدانی برای پایان دادن به این پرس و جو در ، به ترتیب سفارش پرس و جو توسط.

برمی گرداند:

queryendatconstraint

یک Queryendatconstraint برای عبور به query()

endbefore (fieldvalues)

queryendatconstraint را ایجاد می کند که نتیجه تعیین شده برای پایان دادن به قسمتهای ارائه شده نسبت به ترتیب پرس و جو را تغییر می دهد. ترتیب مقادیر میدانی باید با ترتیب سفارش توسط بندهای پرس و جو مطابقت داشته باشد.

امضا:

export declare function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint;

مولفه های

پارامتر تایپ کنید شرح
مقادیر میدانی ناشناخته[] مقادیر میدانی برای پایان دادن به این پرس و جو قبل ، به ترتیب سفارش پرس و جو توسط.

برمی گرداند:

queryendatconstraint

یک Queryendatconstraint برای عبور به query()

Startafter (FieldValues)

querystartatconstraint را ایجاد می کند که نتیجه تعیین شده را برای شروع بعد از زمینه های ارائه شده نسبت به ترتیب پرس و جو تغییر می دهد. ترتیب مقادیر میدانی باید با ترتیب سفارش توسط بندهای پرس و جو مطابقت داشته باشد.

امضا:

export declare function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint;

مولفه های

پارامتر تایپ کنید شرح
مقادیر میدانی ناشناخته[] مقادیر میدانی برای شروع این پرس و جو پس از ، به ترتیب سفارش پرس و جو توسط.

برمی گرداند:

پرس و جو

یک Querystartatconstraint برای عبور به query()

Startat (FieldValues)

querystartatconstraint را ایجاد می کند که نتیجه تعیین شده را برای شروع در زمینه های ارائه شده نسبت به ترتیب پرس و جو تغییر می دهد. ترتیب مقادیر میدانی باید با ترتیب سفارش توسط بندهای پرس و جو مطابقت داشته باشد.

امضا:

export declare function startAt(...fieldValues: unknown[]): QueryStartAtConstraint;

مولفه های

پارامتر تایپ کنید شرح
مقادیر میدانی ناشناخته[] مقادیر میدانی برای شروع این پرس و جو به ترتیب سفارش پرس و جو توسط.

برمی گرداند:

پرس و جو

یک Querystartatconstraint برای عبور به query() .

عملکرد (سمت چپ ، ...)

Eggregatefieldequal (چپ ، راست)

دو 'جمع شده را با هم مقایسه می کند `مواردی برای برابری.

امضا:

export declare function aggregateFieldEqual(left: AggregateField<unknown>, right: AggregateField<unknown>): boolean;

مولفه های

پارامتر تایپ کنید شرح
ترک کرد در کل <ناشناخته> این جمع را با right مقایسه کنید.
درست در کل <ناشناخته> این جمع را با left مقایسه کنید.

برمی گرداند:

بولی

ExgregateQuerysnapshotequal (چپ ، راست)

دو نمونه AggregateQuerySnapshot برای برابری را با هم مقایسه می کند.

دو نمونه AggregateQuerySnapshot در صورتی که دارای پرس و جوهای اساسی باشند که با هم مقایسه می شوند و داده های یکسانی دارند ، "برابر" تلقی می شوند.

امضا:

export declare function aggregateQuerySnapshotEqual<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(left: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>, right: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>): boolean;

مولفه های

پارامتر تایپ کنید شرح
ترک کرد کلبه <GegregatesPectype ، AppModeltype ، dbmodeltype> اولین AggregateQuerySnapshot برای مقایسه.
درست کلبه <GegregatesPectype ، AppModeltype ، dbmodeltype> دومین AggregateQuerySnapshot برای مقایسه.

برمی گرداند:

بولی

true اگر اشیاء "برابر" باشند ، همانطور که در بالا تعریف شده است ، یا در غیر این صورت false .

queryequal (چپ ، راست)

اگر سؤالات ارائه شده به همان مجموعه اشاره کنند و همان محدودیت ها را اعمال کنند ، درست باز می گردد.

امضا:

export declare function queryEqual<AppModelType, DbModelType extends DocumentData>(left: Query<AppModelType, DbModelType>, right: Query<AppModelType, DbModelType>): boolean;

مولفه های

پارامتر تایپ کنید شرح
ترک کرد پرس و جو <AppModeltype ، dbmodeltype> یک Query برای مقایسه.
درست پرس و جو <AppModeltype ، dbmodeltype> یک Query برای مقایسه.

برمی گرداند:

بولی

درست است اگر منابع در همان پایگاه داده Firestore به همان مکان اشاره کنند.

Refequal (چپ ، راست)

اگر منابع ارائه شده برابر باشند ، درست باز می گردد.

امضا:

export declare function refEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>, right: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>): boolean;

مولفه های

پارامتر تایپ کنید شرح
ترک کرد مرجع مستندات <AppModeltype ، dbmodeltype> | بازپرداخت <AppModeltype ، dbmodeltype> یک مرجع برای مقایسه
درست مرجع مستندات <AppModeltype ، dbmodeltype> | بازپرداخت <AppModeltype ، dbmodeltype> یک مرجع برای مقایسه

برمی گرداند:

بولی

درست است اگر منابع در همان پایگاه داده Firestore به همان مکان اشاره کنند.

snapshotequal (چپ ، راست)

اگر عکسهای فوری ارائه شده برابر باشند ، درست باز می گردد.

امضا:

export declare function snapshotEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>, right: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>): boolean;

مولفه های

پارامتر تایپ کنید شرح
ترک کرد اسناد و مدارک <AppModeltype ، dbmodeltype> | پرس و جو <AppModeltype ، dbmodeltype> عکس فوری برای مقایسه.
درست اسناد و مدارک <AppModeltype ، dbmodeltype> | پرس و جو <AppModeltype ، dbmodeltype> عکس فوری برای مقایسه.

برمی گرداند:

بولی

اگر عکسهای فوری برابر باشند ، درست است.

عملکرد (حد ، ...)

حد (حد)

querylimitconstraint را ایجاد می کند که فقط اولین اسناد تطبیق را برمی گرداند.

امضا:

export declare function limit(limit: number): QueryLimitConstraint;

مولفه های

پارامتر تایپ کنید شرح
حد عدد حداکثر تعداد موارد برای بازگشت.

برمی گرداند:

querylimitconstraint

querylimitconstraint ایجاد شده .

limitToLast(Limit)

querylimitconstraint را ایجاد می کند که فقط آخرین اسناد مطابق را برمی گرداند.

شما باید حداقل یک بند orderBy را برای نمایش داده های limitToLast مشخص کنید ، در غیر این صورت یک استثنا در حین اجرا پرتاب می شود.

امضا:

export declare function limitToLast(limit: number): QueryLimitConstraint;

مولفه های

پارامتر تایپ کنید شرح
حد عدد حداکثر تعداد موارد برای بازگشت.

برمی گرداند:

querylimitconstraint

querylimitconstraint ایجاد شده .

عملکرد (ورود به سیستم ، ...)

setLoglevel (loglevel)

کمبود سیاهههای مربوط به Firestore Cloud (اشکال زدایی ، خطا یا ساکت) را تنظیم می کند.

امضا:

export declare function setLogLevel(logLevel: LogLevel): void;

مولفه های

پارامتر تایپ کنید شرح
ورود به سیستم ورود به سیستم کلامی که برای فعالیت و ورود به سیستم تنظیم کرده اید. می تواند هر یک از مقادیر زیر باشد:
  • debug برای بیشترین سطح ورود به سیستم ، در درجه اول برای اشکال زدایی.
  • error فقط برای ورود به سیستم.
  • silent to turn off logging.

برمی گرداند:

خالی

عملکرد (n ، ...)

افزایش (N)

مقدار ویژه ای را که می تواند با SetDoc () یا به روز شده () که به سرور می گوید مقدار فعلی این فیلد را با مقدار داده شده افزایش می دهد ، برمی گرداند.

اگر Operand یا مقدار میدان فعلی از دقت نقطه شناور استفاده کند ، تمام حسابی از معانی IEEE 754 پیروی می کنند. اگر هر دو مقدار عدد صحیح باشند ، مقادیر خارج از محدوده شماره ایمن جاوا اسکریپت ( Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER ) همچنین در معرض ضرر دقیق قرار دارند. علاوه بر این ، پس از پردازش توسط پس زمینه Firestore ، تمام عملیات عدد صحیح بین -2^63 و 2^63-1 پوشانده می شوند.

اگر مقدار فیلد فعلی از number نوع نباشد ، یا اگر این زمینه هنوز وجود نداشته باشد ، تحول قسمت را به مقدار داده شده تنظیم می کند.

امضا:

export declare function increment(n: number): FieldValue;

مولفه های

پارامتر تایپ کنید شرح
n عدد مقدار افزایش توسط.

برمی گرداند:

مقادیر میدانی

Sentinel FieldValue برای استفاده در تماس با setDoc() یا updateDoc()

تابع (پرس و جو، ...)

getAggregate (پرس و جو، aggregateSpec)

تجمع های مشخص شده را بر روی اسناد در مجموعه نتیجه پرس و جو داده شده بدون بارگیری اسناد محاسبه می کند.

استفاده از این عملکرد برای انجام تجمع کارآمد است زیرا فقط مقادیر جمع آوری نهایی ، نه داده های اسناد بارگیری می شوند. این عملکرد می تواند جمع آوری اسناد را در مواردی که مجموعه نتیجه برای بارگیری کامل (هزاران سند) بسیار زیاد است ، انجام دهد.

امضا:

export declare function getAggregate<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, aggregateSpec: AggregateSpecType): Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>;

مولفه های

پارامتر تایپ کنید شرح
پرس و جو پرس و جو <AppModeltype ، dbmodeltype> پرس و جو که مجموعه نتیجه آن جمع شده است.
جمع ها کلبه های یک شیء AggregateSpec که مصالح را برای انجام در مجموعه نتیجه مشخص می کند. EggregatesPEC نام مستعار را برای هر کل مشخص می کند ، که می تواند برای بازیابی نتیجه کل استفاده شود.

برمی گرداند:

وعده < جمع شده <GegregatesPectype ، AppModeltype ، dbmodeltype >>

مثال

const aggregateSnapshot = await getAggregate(query, {
  countOfDocs: count(),
  totalHours: sum('hours'),
  averageScore: average('score')
});

const countOfDocs: number = aggregateSnapshot.data().countOfDocs;
const totalHours: number = aggregateSnapshot.data().totalHours;
const averageScore: number | null = aggregateSnapshot.data().averageScore;

getCount (پرس و جو)

تعداد اسناد را در مجموعه نتیجه پرس و جو داده شده بدون بارگیری اسناد محاسبه می کند.

استفاده از این تابع برای شمارش اسناد کارآمد است زیرا فقط تعداد نهایی ، نه داده های اسناد ، بارگیری می شود. این عملکرد می تواند اسناد را در مواردی که مجموعه نتیجه برای بارگیری کامل (هزاران سند) بسیار زیاد است ، حساب کند.

امضا:

export declare function getCount<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<AggregateQuerySnapshot<{
    count: AggregateField<number>;
}, AppModelType, DbModelType>>;

مولفه های

پارامتر تایپ کنید شرح
پرس و جو پرس و جو <AppModeltype ، dbmodeltype> پرس و جو که اندازه مجموعه نتیجه آن محاسبه می شود.

برمی گرداند:

وعده < جمع شده <{COUNT: AggregateField <Number> ؛ } ، AppModeltype ، dbmodeltype >>

قولی که با شمارش حل می شود. شمارش را می توان از snapshot.data().count ، جایی که snapshot AggregateQuerySnapshot است که قول برگشتی برطرف می شود.

getDocs (پرس و جو)

پرس و جو را اجرا می کند و نتایج را به عنوان یک پرس و جو باز می گرداند .

همه نمایش داده ها به طور مستقیم توسط سرور اجرا می شوند ، حتی اگر این پرس و جو قبلاً اجرا شده باشد. در صورت استفاده از پس زمینه ، اصلاحات اخیر فقط در نتایج بازیابی منعکس می شود. اگر مشتری آفلاین باشد ، عملیات با موفقیت انجام نمی شود. برای دیدن نتیجه ذخیره شده و اصلاحات محلی قبلاً ، از Firestore SDK کامل استفاده کنید.

امضا:

export declare function getDocs<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

مولفه های

پارامتر تایپ کنید شرح
پرس و جو پرس و جو <AppModeltype ، dbmodeltype> Query برای اجرای

برمی گرداند:

قول < querysnapshot <AppModeltype ، dbmodeltype >>

قولی که با نتایج پرس و جو برطرف می شود.

پرس و جو (پرس و جو ، CompositeFilter ، QueryConstints)

یک نمونه تغییر ناپذیر جدید از پرس و جو ایجاد می کند که گسترش می یابد و شامل محدودیت های پرس و جو اضافی نیز می شود.

امضا:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, compositeFilter: QueryCompositeFilterConstraint, ...queryConstraints: QueryNonFilterConstraint[]): Query<AppModelType, DbModelType>;

مولفه های

پارامتر تایپ کنید شرح
پرس و جو پرس و جو <AppModeltype ، dbmodeltype> نمونه پرس و جو برای استفاده به عنوان پایه ای برای محدودیت های جدید.
ترکیب کننده queryCompositeFilterConstraint queryCompositeFilterConstint برای اعمال. با استفاده از و () یا یا () querycompositefilterconstraint ایجاد کنید .
باز پرس و جو querynonfilterconstraint [] querynonfilterconstraint اضافی S برای اعمال (به عنوان مثال Orderby () ، حد() ).

برمی گرداند:

پرس و جو <AppModeltype ، dbmodeltype>

استثناها

اگر هیچ یک از محدودیت های پرس و جو ارائه شده با محدودیت های موجود یا جدید قابل ترکیب نباشد.

پرس و جو (پرس و جو ، queryconstints)

یک نمونه تغییر ناپذیر جدید از پرس و جو ایجاد می کند که گسترش می یابد و شامل محدودیت های پرس و جو اضافی نیز می شود.

امضا:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, ...queryConstraints: QueryConstraint[]): Query<AppModelType, DbModelType>;

مولفه های

پارامتر تایپ کنید شرح
پرس و جو پرس و جو <AppModeltype ، dbmodeltype> نمونه پرس و جو برای استفاده به عنوان پایه ای برای محدودیت های جدید.
باز پرس و جو بازپرسی [] لیست queryconstraint s برای اعمال

برمی گرداند:

پرس و جو <AppModeltype ، dbmodeltype>

استثناها

اگر هیچ یک از محدودیت های پرس و جو ارائه شده با محدودیت های موجود یا جدید قابل ترکیب نباشد.

عملکرد (queryConstints ، ...)

و (queryconstraints)

یک queryCompositeFilterConstraint جدید ایجاد می کند که پیوستگی محدودیت های فیلتر داده شده است. اگر تمام فیلترهای داده شده را برآورده کند ، یک فیلتر پیوندی شامل یک سند است.

امضا:

export declare function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

مولفه های

پارامتر تایپ کنید شرح
باز پرس و جو queryfilterconstraint [] اختیاری. لیست queryfilterconstraint S برای انجام یک رابطه برای. اینها باید با تماس به جایی () ایجاد شود ، یا() ، یا () .

برمی گرداند:

queryCompositeFilterConstraint

QueryCompositeFilterConstraint تازه ایجاد شده .

یا (queryconstraints)

یک queryCompositeFilterConstraint جدید ایجاد می کند که اختلال در محدودیت های فیلتر داده شده است. اگر هر یک از فیلترهای داده شده را برآورده کند ، یک فیلتر اختلال شامل یک سند است.

امضا:

export declare function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

مولفه های

پارامتر تایپ کنید شرح
باز پرس و جو queryfilterconstraint [] اختیاری. لیست queryfilterconstraint S برای انجام یک اختلال برای. اینها باید با تماس به جایی () ایجاد شود ، یا() ، یا () .

برمی گرداند:

queryCompositeFilterConstraint

QueryCompositeFilterConstraint تازه ایجاد شده .

تابع (مرجع ، ...)

addDoc (مرجع ، داده ها)

یک سند جدید را به CollectionReference داده های مشخص شده با داده های داده شده اضافه کنید و به طور خودکار شناسه سند را به آن اختصاص دهید.

نتیجه این نوشتن فقط در خوانده های سند منعکس می شود که پس از حل قول بازگشت ، رخ می دهد. اگر مشتری آفلاین باشد ، نوشتن شکست می خورد. اگر می خواهید تغییرات محلی را ببینید یا بافر می نویسد تا زمانی که مشتری آنلاین نباشد ، از SDK کامل Firestore استفاده کنید.

امضا:

export declare function addDoc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<DocumentReference<AppModelType, DbModelType>>;

مولفه های

پارامتر تایپ کنید شرح
ارجاع بازپرداخت <AppModeltype ، dbmodeltype> اشاره ای به مجموعه برای اضافه کردن این سند به.
داده ها با FieldValue <AppModelType> یک شیء حاوی داده برای سند جدید.

برمی گرداند:

وعده < DocumentReference <AppModeltype ، dbmodeltype >>

Promise ای که با یک DocumentReference به سند تازه ایجاد شده پس از نوشته شده در پس زمینه ، حل شد.

استثناها

خطا - اگر ورودی ارائه شده یک سند Firestore معتبر نباشد.

مجموعه (مرجع ، مسیر ، مسیر)

یک نمونه CollectionReference است که به یک زیر مجموعه reference در مسیر نسبی مشخص شده اشاره دارد.

امضا:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

مولفه های

پارامتر تایپ کنید شرح
ارجاع بازپرداخت <AppModeltype ، dbmodeltype> اشاره به یک مجموعه.
مسیر رشته مسیری جدا از هم جدا به یک مجموعه.
مسیر رشته [] بخش های مسیر اضافی برای استفاده نسبت به اولین آرگومان.

برمی گرداند:

بازپرداخت < DocumentData ، documentdata >

نمونه CollectionReference .

استثناها

اگر مسیر نهایی دارای تعداد حتی بخش هایی باشد و به یک مجموعه اشاره نمی کند.

مجموعه (مرجع ، مسیر ، مسیر)

یک نمونه CollectionReference است که به یک زیر مجموعه reference در مسیر نسبی مشخص شده اشاره دارد.

امضا:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

مولفه های

پارامتر تایپ کنید شرح
ارجاع مرجع مستندات <AppModeltype ، dbmodeltype> اشاره به یک سند Firestore.
مسیر رشته مسیری جدا از هم جدا به یک مجموعه.
مسیر رشته [] بخش های مسیر اضافی که نسبت به اولین آرگومان اعمال می شود.

برمی گرداند:

بازپرداخت < DocumentData ، documentdata >

نمونه CollectionReference .

استثناها

اگر مسیر نهایی دارای تعداد حتی بخش هایی باشد و به یک مجموعه اشاره نمی کند.

حذف (مرجع)

سندی را که توسط DocumentReference مشخص شده به آن اشاره شده است حذف می کند .

حذف فقط در خوانده شده در اسناد منعکس می شود که پس از حل قول برگشتی رخ می دهد. اگر مشتری آفلاین باشد ، حذف از بین می رود. اگر می خواهید تغییرات محلی را ببینید یا بافر می نویسد تا زمانی که مشتری آنلاین نباشد ، از SDK کامل Firestore استفاده کنید.

امضا:

export declare function deleteDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<void>;

مولفه های

پارامتر تایپ کنید شرح
ارجاع مرجع مستندات <AppModeltype ، dbmodeltype> اشاره ای به سند برای حذف.

برمی گرداند:

قول<باطل>

هنگامی که این سند با موفقیت از پس زمینه حذف شد ، Promise حل شد.

DOC (مرجع ، مسیر ، مسیر)

یک نمونه DocumentReference می شود که به یک سندی در reference در مسیر نسبی مشخص شده اشاره دارد. اگر هیچ مسیری مشخص نشده باشد ، از یک شناسه منحصر به فرد تولید شده به طور خودکار برای بازپرداخت DocumentReference استفاده می شود .

امضا:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path?: string, ...pathSegments: string[]): DocumentReference<AppModelType, DbModelType>;

مولفه های

پارامتر تایپ کنید شرح
ارجاع بازپرداخت <AppModeltype ، dbmodeltype> اشاره به یک مجموعه.
مسیر رشته مسیری جدا از هم جدا به یک سند. باید از استفاده از شناسه های ژانر شده خودکار حذف شود.
مسیر رشته [] بخش های مسیر اضافی که نسبت به اولین آرگومان اعمال می شود.

برمی گرداند:

مرجع مستندات <AppModeltype ، dbmodeltype>

نمونه DocumentReference .

استثناها

اگر مسیر نهایی تعداد عجیب و غریب از بخش ها داشته باشد و به یک سند اشاره نمی کند.

DOC (مرجع ، مسیر ، مسیر)

یک نمونه DocumentReference می شود که به یک سندی در reference در مسیر نسبی مشخص شده اشاره دارد.

امضا:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

مولفه های

پارامتر تایپ کنید شرح
ارجاع مرجع مستندات <AppModeltype ، dbmodeltype> اشاره به یک سند Firestore.
مسیر رشته مسیری جدا از هم جدا به یک سند.
مسیر رشته [] بخش های مسیر اضافی که نسبت به اولین آرگومان اعمال می شود.

برمی گرداند:

مرجع مستندات < DocumentData ، documentdata >

نمونه DocumentReference .

استثناها

اگر مسیر نهایی تعداد عجیب و غریب از بخش ها داشته باشد و به یک سند اشاره نمی کند.

getDoc (مرجع)

سندی را که توسط مرجع اسناد مشخص شده به آن اشاره شده است ، می خواند.

همه اسناد مستقیماً از سرور خارج می شوند ، حتی اگر این سند قبلاً خوانده شده یا اصلاح شده باشد. در صورت استفاده از پس زمینه ، اصلاحات اخیر فقط در DocumentSnapshot بازیابی شده منعکس شده است. اگر مشتری آفلاین باشد ، خواندن با موفقیت انجام نمی شود. اگر دوست دارید از ذخیره سازی استفاده کنید یا تغییرات محلی را ببینید ، لطفاً از Firestore SDK کامل استفاده کنید.

امضا:

export declare function getDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

مولفه های

پارامتر تایپ کنید شرح
ارجاع مرجع مستندات <AppModeltype ، dbmodeltype> مرجع سند به واکشی.

برمی گرداند:

قول < DocumentSnapShot <AppModeltype ، dbmodeltype >>

وعده ای که با یک DocumentSnapshot حاوی محتویات سند فعلی حل شد.

setDoc (مرجع ، داده ها)

به سندی که توسط DocumentReference مشخص شده است می نویسد . اگر این سند هنوز وجود نداشته باشد ، ایجاد می شود.

نتیجه این نوشتن فقط در خوانده های سند منعکس می شود که پس از حل قول بازگشت ، رخ می دهد. اگر مشتری آفلاین باشد ، نوشتن شکست می خورد. اگر می خواهید تغییرات محلی را ببینید یا بافر می نویسد تا زمانی که مشتری آنلاین نباشد ، از SDK کامل Firestore استفاده کنید.

امضا:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<void>;

مولفه های

پارامتر تایپ کنید شرح
ارجاع مرجع مستندات <AppModeltype ، dbmodeltype> اشاره ای به سند برای نوشتن.
داده ها با FieldValue <AppModelType> نقشه ای از زمینه ها و مقادیر برای سند.

برمی گرداند:

قول<باطل>

یک Promise حل شد که داده ها با موفقیت در پس زمینه نوشته شده اند.

استثناها

خطا - اگر ورودی ارائه شده یک سند Firestore معتبر نباشد.

setDoc (مرجع ، داده ها ، گزینه ها)

به سندی که توسط DocumentReference مشخص شده است می نویسد . اگر این سند هنوز وجود نداشته باشد ، ایجاد می شود. اگر مزارع merge یا mergeFields ارائه می دهید ، داده های ارائه شده را می توان در یک سند موجود ادغام کرد.

نتیجه این نوشتن فقط در خوانده های سند منعکس می شود که پس از حل قول بازگشت ، رخ می دهد. اگر مشتری آفلاین باشد ، نوشتن شکست می خورد. اگر می خواهید تغییرات محلی را ببینید یا بافر می نویسد تا زمانی که مشتری آنلاین نباشد ، از SDK کامل Firestore استفاده کنید.

امضا:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): Promise<void>;

مولفه های

پارامتر تایپ کنید شرح
ارجاع مرجع مستندات <AppModeltype ، dbmodeltype> اشاره ای به سند برای نوشتن.
داده ها SPALWITHFIELDVALUE <AppModelType> نقشه ای از زمینه ها و مقادیر برای سند.
گزینه ها پیش بینی یک شیء برای پیکربندی رفتار تنظیم شده.

برمی گرداند:

قول<باطل>

یک Promise حل شد که داده ها با موفقیت در پس زمینه نوشته شده اند.

استثناها

خطا - اگر ورودی ارائه شده یک سند Firestore معتبر نباشد.

به روز شده (مرجع ، داده ها)

زمینه های به روزرسانی در سند ذکر شده توسط DocumentReference مشخص شده . در صورت اعمال سندی که وجود ندارد ، این بروزرسانی شکست خواهد خورد.

نتیجه این بروزرسانی فقط در خوانده شده اسناد منعکس می شود که پس از برطرف شدن قول بازگشت ، رخ می دهد. اگر مشتری آفلاین باشد ، به روزرسانی انجام نمی شود. اگر می خواهید تغییرات محلی را ببینید یا بافر می نویسد تا زمانی که مشتری آنلاین نباشد ، از SDK کامل Firestore استفاده کنید.

امضا:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): Promise<void>;

مولفه های

پارامتر تایپ کنید شرح
ارجاع مرجع مستندات <AppModeltype ، dbmodeltype> اشاره ای به سند برای به روزرسانی.
داده ها بروزرسانی اطلاعات <DbModelType> یک شیء حاوی فیلدها و مقادیر برای به روزرسانی سند. زمینه ها می توانند حاوی نقاطی برای مراجعه به قسمتهای تو در تو در داخل سند باشند.

برمی گرداند:

قول<باطل>

یک Promise حل شد که داده ها با موفقیت در پس زمینه نوشته شده اند.

استثناها

خطا - اگر ورودی ارائه شده داده های Firestore معتبر نباشد.

به روز شده (مرجع ، فیلد ، مقدار ، morefieldsandlates)

زمینه های به روزرسانی در سند ذکر شده توسط DocumentReference مشخص شده در صورت استفاده از سندی که وجود ندارد ، به روزرسانی می شود.

زمینه های تو در تو با ارائه رشته های مسیر جداگانه جدا شده یا با ارائه اشیاء FieldPath می توانند به روز شوند.

نتیجه این بروزرسانی فقط در خوانده شده اسناد منعکس می شود که پس از برطرف شدن قول بازگشت ، رخ می دهد. اگر مشتری آفلاین باشد ، به روزرسانی انجام نمی شود. اگر می خواهید تغییرات محلی را ببینید یا بافر می نویسد تا زمانی که مشتری آنلاین نباشد ، از SDK کامل Firestore استفاده کنید.

امضا:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): Promise<void>;

مولفه های

پارامتر تایپ کنید شرح
ارجاع مرجع مستندات <AppModeltype ، dbmodeltype> اشاره ای به سند برای به روزرسانی.
رشته رشته | مسیر اولین فیلد برای به روزرسانی.
ارزش ناشناخته مقدار اول
MorefieldSandsalues ناشناخته[] جفت ارزش کلیدی اضافی.

برمی گرداند:

قول<باطل>

یک Promise حل شد که داده ها با موفقیت در پس زمینه نوشته شده اند.

استثناها

خطا - اگر ورودی ارائه شده داده های Firestore معتبر نباشد.

عملکرد (عکس فوری ، ...)

Endat (عکس فوری)

queryendatconstraint را ایجاد می کند که نتیجه تعیین شده برای پایان دادن به سند ارائه شده (شامل) را تغییر می دهد. موقعیت پایان نسبت به ترتیب پرس و جو است. این سند باید شامل تمام زمینه های ارائه شده در سفارش پرس و جو باشد.

امضا:

export declare function endAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

مولفه های

پارامتر تایپ کنید شرح
عکس فوری اسناد و مدارک <AppModeltype ، dbmodeltype> عکس فوری از سند به پایان می رسد.

برمی گرداند:

queryendatconstraint

یک Queryendatconstraint برای عبور به query()

endbefore (عکس فوری)

queryendatconstraint را ایجاد می کند که نتیجه تعیین شده برای پایان دادن به سند ارائه شده (اختصاصی) را تغییر می دهد. موقعیت پایان نسبت به ترتیب پرس و جو است. این سند باید شامل تمام زمینه های ارائه شده در سفارش پرس و جو باشد.

امضا:

export declare function endBefore<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

مولفه های

پارامتر تایپ کنید شرح
عکس فوری اسناد و مدارک <AppModeltype ، dbmodeltype> عکس فوری از سند قبل از آن پایان می یابد.

برمی گرداند:

queryendatconstraint

یک Queryendatconstraint برای عبور به query()

Startafter (عکس فوری)

querystartatconstraint را ایجاد می کند که نتیجه تعیین شده برای شروع پس از سند ارائه شده (اختصاصی) را تغییر می دهد. موقعیت شروع نسبت به ترتیب پرس و جو است. این سند باید شامل تمام زمینه های ارائه شده در سفارش پرس و جو باشد.

امضا:

export declare function startAfter<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

مولفه های

پارامتر تایپ کنید شرح
عکس فوری اسناد و مدارک <AppModeltype ، dbmodeltype> عکس فوری از سند شروع شده است.

برمی گرداند:

پرس و جو

یک Querystartatconstraint برای عبور به query()

Startat (عکس فوری)

querystartatconstraint را ایجاد می کند که نتیجه تعیین شده برای شروع در سند ارائه شده (شامل) را تغییر می دهد. موقعیت شروع نسبت به ترتیب پرس و جو است. این سند باید شامل تمام زمینه های ارائه شده در orderBy این پرس و جو باشد.

امضا:

export declare function startAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

مولفه های

پارامتر تایپ کنید شرح
عکس فوری اسناد و مدارک <AppModeltype ، dbmodeltype> عکس فوری از سند برای شروع.

برمی گرداند:

پرس و جو

یک Querystartatconstraint برای عبور به query() .

addPrefixtokeys

نقشه جدیدی را برمی گرداند که در آن هر کلید با کلید بیرونی که به یک نقطه اضافه شده است ، پیشوند می شود.

امضا:

export declare type AddPrefixToKeys<Prefix extends string, T extends Record<string, unknown>> = {
    [K in keyof T & string as `${Prefix}.${K}`]+?: string extends K ? any : T[K];
};

هم جمع سازی

اتحادیه همه انواع AggregateField شده توسط Firestore.

امضا:

export declare type AggregateFieldType = ReturnType<typeof sum> | ReturnType<typeof average> | ReturnType<typeof count>;

کلبه های

نوعی که کلیدهای آن از یک AggregateSpec گرفته شده است ، و مقادیر آنها نتیجه تجمع انجام شده توسط AggregateField مربوطه از AggregateSpec ورودی است .

امضا:

export declare type AggregateSpecData<T extends AggregateSpec> = {
    [P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
};

از نوع تجمع

نوع اتحادیه به نمایندگی از نوع کل که باید انجام شود.

امضا:

export declare type AggregateType = 'count' | 'avg' | 'sum';

بچه های کودک

یاور برای محاسبه زمینه های تو در تو برای نوع T1 معین. این مورد برای توزیع انواع اتحادیه مانند undefined | {...} (برای غرفه های اختیاری اتفاق می افتد) یا {a: A} | {b: B} .

در این مورد استفاده ، V برای توزیع انواع اتحادیه T[K] در Record استفاده می شود ، از آنجا که T[K] به عنوان یک عبارت ارزیابی می شود و توزیع نمی شود.

به https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditivity-types مراجعه کنید

امضا:

export declare type ChildUpdateFields<K extends string, V> = V extends Record<string, unknown> ? AddPrefixToKeys<K, UpdateData<V>> : never;

کد

مجموعه کدهای وضعیت Firestore. کدها در مواردی که توسط GRPC در اینجا قرار دارند یکسان هستند: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

مقادیر ممکن: - "لغو": این عملیات لغو شد (به طور معمول توسط تماس گیرنده). - "ناشناخته": خطای ناشناخته یا خطایی از دامنه خطای متفاوت. - 'نامعتبر-بحث': مشتری یک استدلال نامعتبر را مشخص کرد. توجه داشته باشید که این با "پیش بینی شکست خورده" متفاوت است. "Argument نامعتبر" استدلال هایی را نشان می دهد که بدون توجه به وضعیت سیستم مشکل ساز هستند (به عنوان مثال یک نام فیلد نامعتبر). - "مهلت-از او بیش از": مهلت قبل از اتمام عمل می تواند تمام شود. برای عملیاتی که وضعیت سیستم را تغییر می دهد ، ممکن است این خطا حتی اگر این عملیات با موفقیت انجام شود ، برگردانده شود. به عنوان مثال ، یک پاسخ موفق از سرور می توانست به اندازه کافی طولانی به تأخیر بیفتد تا مهلت منقضی شود. - "نه found": برخی از اسناد درخواست شده یافت نشد. - "در حال حاضر موجود": برخی از سندی که ما سعی در ایجاد آن داشتیم از قبل وجود دارد. - "مجوز": تماس گیرنده اجازه اجرای عملیات مشخص را ندارد. -"منابع-اکسپرس": برخی از منابع خسته شده اند ، شاید سهمیه برای هر کاربر یا شاید کل سیستم پرونده از فضا خارج باشد. - "پیشینه شکست": عملیات رد شد زیرا سیستم در وضعیت لازم برای اجرای عملیات نیست. - "سقط جنین": این عملیات سقط شده است ، به طور معمول به دلیل یک مسئله همزمانی مانند سقط های معامله و غیره- "خارج از محدوده": عملیات از محدوده معتبر استفاده می شد. - "عدم اجرای": عملیات اجرا نمی شود یا پشتیبانی نمی شود/فعال نمی شود. - "داخلی": خطاهای داخلی. به معنای برخی از متغیرهای مورد انتظار توسط سیستم اساسی شکسته شده است. اگر یکی از این خطاها را می بینید ، چیزی بسیار شکسته است. - "در دسترس نیست": این سرویس در حال حاضر در دسترس نیست. این به احتمال زیاد یک بیماری گذرا است و ممکن است با استفاده مجدد از پس از آن اصلاح شود. - "داده-از دست دادن": از دست دادن داده های غیرقابل برگشت یا فساد. - "غیرمجاز": درخواست اعتبار تأیید اعتبار معتبر برای این عملیات ندارد.

امضا:

export declare type FirestoreErrorCode = 'cancelled' | 'unknown' | 'invalid-argument' | 'deadline-exceeded' | 'not-found' | 'already-exists' | 'permission-denied' | 'resource-exhausted' | 'failed-precondition' | 'aborted' | 'out-of-range' | 'unimplemented' | 'internal' | 'unavailable' | 'data-loss' | 'unauthenticated';

میدان های تو در تو

برای هر زمینه (به عنوان مثال "نوار") ، تمام کلیدهای تو در تو را پیدا کنید (به عنوان مثال { 'bar.baz': t1 ، 'bar.qux': t2 } ). آنها را در کنار هم قرار دهید تا یک نقشه واحد حاوی تمام کلیدهای ممکن باشد که همه به عنوان اختیاری مشخص شده اند

امضا:

export declare type NestedUpdateFields<T extends Record<string, unknown>> = UnionToIntersection<{
    [K in keyof T & string]: ChildUpdateFields<K, T[K]>;
}[keyof T & string]>;

جهت دار

جهت یک بند Orderby () به عنوان "نزولی" یا "ASC" (نزولی یا صعودی) مشخص شده است.

امضا:

export declare type OrderByDirection = 'desc' | 'asc';

SPALWITHFIELDVALUE

مشابه Partial<T> Typecript ، اما اجازه می دهد تا زمینه های تو در تو حذف شوند و مقادیر میدانی به عنوان مقادیر خاصیت منتقل شوند.

امضا:

export declare type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
} : never);

اولیه

انواع ابتدایی.

امضا:

export declare type Primitive = string | number | boolean | undefined | null;

queryconstrainttype

محدودیت های مختلف پرس و جو موجود در این SDK را توصیف می کند.

امضا:

export declare type QueryConstraintType = 'where' | 'orderBy' | 'limit' | 'limitToLast' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore';

queryfilterconstraint

QueryFilterConstraint یک نوع اتحادیه یاور است که نمایانگر queryfieldfilterconstraint و querycompositefilterconstraint است .

امضا:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

querynonfilterconstraint

QueryNonFilterConstraint یک نوع اتحادیه یاور است که نمایانگر queryConstints است که برای باریک شدن یا سفارش مجموعه اسناد استفاده می شود ، اما به صراحت در یک زمینه سند فیلتر نمی شوند. QueryNonFilterConstraint S با استناد به Orderby () ایجاد می شوند ، شروع کن در() ، startafter () ، endbefore () ، endat () ، محدود () یا limittolast () و سپس می توانید به پرس و جو () منتقل شوید تا یک نمونه پرس و جو جدید ایجاد شود که شامل QueryConstraint نیز باشد .

امضا:

export declare type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint;

پیش بینی

یک شی گزینه ای که رفتار SetDoc را پیکربندی می کند () ، و تماس ها این تماسها می توانند برای انجام ادغام گرانول به جای بازنویسی اسناد هدف در کل خود با ارائه SetOptions با merge: true تنظیم شوند. .

امضا:

export declare type SetOptions = {
    readonly merge?: boolean;
} | {
    readonly mergeFields?: Array<string | FieldPath>;
};

اتهامات اتحادیه

با توجه به یک نوع اتحادیه U = T1 | T2 | ... ، یک نوع تقاطع شده را برمی گرداند (T1 & T2 & ...) .

از انواع مشروط توزیع و استنباط از انواع مشروط استفاده می کند. این امر به این دلیل است که چندین نامزد برای متغیر یکسان در موقعیت های ضد متغیر باعث می شود که یک نوع تقاطع استنباط شود. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditionation-types https://stackoverflow.com/questions/50374908/transform-union-nion-type-to-m--in-in-intrationesection نوع

امضا:

export declare type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;

بروزرسانی اطلاعات

به روزرسانی داده ها (برای استفاده با به روز شده () ) که شامل مسیرهای میدانی (به عنوان مثال "foo" یا "foo.baz") است که به مقادیر نقشه برداری شده است. زمینه هایی که حاوی قسمتهای مرجع نقاط در داخل سند هستند. مقادیر میدانی را می توان به عنوان مقادیر خاصیت منتقل کرد.

امضا:

export declare type UpdateData<T> = T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: UpdateData<T[K]> | FieldValue;
} & NestedUpdateFields<T> : Partial<T>;

Wherefilterop

Filter conditions in a where() clause are specified using the strings '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains', 'in', 'array-contains-any', and 'not-in'.

امضا:

export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';

WithFieldValue

Allows FieldValues to be passed in as a property value while maintaining type safety.

امضا:

export declare type WithFieldValue<T> = T | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]: WithFieldValue<T[K]> | FieldValue;
} : never);