现已推出具有 MongoDB 兼容性的 Firestore 企业版!
了解详情。
یک ساختار داده را انتخاب کنید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
به یاد داشته باشید، وقتی دادههای خود را در Cloud Firestore ساختار میدهید، چند گزینه مختلف دارید:
- اسناد
- مجموعه های متعدد
- مجموعه های فرعی در اسناد
مزایای هر گزینه را در نظر بگیرید زیرا آنها به مورد استفاده شما مربوط می شوند. چند ساختار نمونه برای داده های سلسله مراتبی در این راهنما بیان شده است.
داده های تو در تو در اسناد
می توانید اشیاء پیچیده مانند آرایه ها یا نقشه ها را در اسناد قرار دهید.
- مزایا: اگر لیستهای ساده و ثابتی از دادهها دارید که میخواهید در اسناد خود نگهداری کنید، تنظیم آن آسان است و ساختار داده شما را ساده میکند.
- محدودیت ها: این به اندازه گزینه های دیگر مقیاس پذیر نیست، به خصوص اگر داده های شما در طول زمان گسترش یابد. با فهرستهای بزرگتر یا در حال رشد، سند نیز رشد میکند، که میتواند منجر به کندتر شدن زمان بازیابی اسناد شود.
- مورد استفاده احتمالی چیست؟ به عنوان مثال، در یک برنامه چت، ممکن است 3 اتاق گفتگوی کاربر که اخیراً بازدید کرده است را به عنوان یک لیست تودرتو در نمایه او ذخیره کنید.
| - آواریس class
- نام:
اول: "آدا" آخرین: "Lovelace" متولد: 1815 اتاق ها: 0 : "چت نرم افزاری" 1: "چهره های مشهور" 2: "سوئدهای معروف"
|
زیر مجموعه ها
وقتی دادههایی دارید که ممکن است در طول زمان گسترش یابند، میتوانید مجموعههایی را در اسناد ایجاد کنید.
- مزایا: با بزرگ شدن لیست های شما، اندازه سند مادر تغییر نمی کند. همچنین قابلیتهای جستجوی کاملی را در زیر مجموعهها دریافت میکنید و میتوانید پرسوجوهای گروه مجموعه را در میان مجموعههای فرعی صادر کنید.
- محدودیت ها: شما نمی توانید به راحتی زیر مجموعه ها را حذف کنید.
- مورد استفاده احتمالی چیست؟ برای مثال، در همان برنامه چت، ممکن است مجموعهای از کاربران یا پیامها را در اسناد اتاق چت ایجاد کنید.
| - collections_bookmark
- نرم افزار class
نام: "چت نرم افزاری"- کاربران collections_bookmark
- آواریس class
اول: "آدا" آخرین: "Lovelace"
- راید class
اول: "سالی" آخرین : "سوار"`
- class اخترفیزیک
|
مجموعه های سطح ریشه
مجموعه هایی را در سطح ریشه پایگاه داده خود ایجاد کنید تا مجموعه داده های متفاوت را سازماندهی کنید.
- مزایا: مجموعه های سطح ریشه برای روابط چند به چند خوب هستند و پرس و جوی قدرتمندی را در هر مجموعه ارائه می دهند.
- محدودیت ها: دریافت داده هایی که به طور طبیعی سلسله مراتبی هستند ممکن است با رشد پایگاه داده شما پیچیده تر شود.
- مورد استفاده احتمالی چیست؟ به عنوان مثال، در همان برنامه چت، ممکن است یک مجموعه برای کاربران و دیگری برای اتاق ها و پیام ها ایجاد کنید.
| - کاربران collections_bookmark
- آواریس class
اول: "آدا" آخرین: "Lovelace" متولد: 1815
- راید class
اول: "سالی" آخرین: "سوار" متولد: 1951
- collections_bookmark اتاق
- نرم افزار class
- پیام های collections_bookmark
- پیام class 1
از : "alovelace" محتوا: "..."
- پیام class 2
از : "sride" محتوا: "..."
|
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-08-15 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-15 بهوقت ساعت هماهنگ جهانی."],[],[],null,["\u003cbr /\u003e\n\nRemember, when you structure your data in Cloud Firestore, you\nhave a few different options:\n\n- Documents\n- Multiple collections\n- Subcollections within documents\n\nConsider the advantages of each option as they\nrelate to your use case. A few example structures for hierarchical data\nare outlined in this guide.\n\n\u003cbr /\u003e\n\nNested data in documents\n\nYou can nest complex objects like arrays or maps within documents.\n\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|\n| - **Advantages:** If you have simple, fixed lists of data that you want to keep within your documents, this is easy to set up and streamlines your data structure. - **Limitations:** This isn't as scalable as other options, especially if your data expands over time. With larger or growing lists, the document also grows, which can lead to slower document retrieval times. - **What's a possible use case?** In a chat app, for example, you might store a user's 3 most recently visited chat rooms as a nested list in their profile. | - class alovelace - name : first : \"Ada\" last : \"Lovelace\" born : 1815 rooms : 0 : \"Software Chat\" 1 : \"Famous Figures\" 2 : \"Famous SWEs\" |\n\nSubcollections\n\nYou can create collections within documents when you have data that might expand\nover time.\n\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| - **Advantages:** As your lists grow, the size of the parent document doesn't change. You also get full query capabilities on subcollections, and you can issue [collection group queries](../query-data/queries) across subcollections. - **Limitations:** You can't easily delete subcollections. - **What's a possible use case?** In the same chat app, for example, you might create collections of users or messages within chat room documents. | - collections_bookmark science - class software name : \"software chat\" - collections_bookmark users - class alovelace first : \"Ada\" last : \"Lovelace\" - class sride first : \"Sally\" last : \"Ride\"\\` \u003cbr /\u003e \u003cbr /\u003e - class astrophysics - ... |\n\nRoot-level collections\n\nCreate collections at the root level of your database to organize disparate data\nsets.\n\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| - **Advantages:** Root-level collections are good for many-to-many relationships and provide powerful querying within each collection. - **Limitations:** Getting data that is naturally hierarchical might become increasingly complex as your database grows. - **What's a possible use case?** In the same chat app, for example, you might create one collection for users and another for rooms and messages. | - collections_bookmark users - class alovelace first : \"Ada\" last : \"Lovelace\" born : 1815 - class sride first : \"Sally\" last : \"Ride\" born : 1951 - collections_bookmark rooms - class software - collections_bookmark messages - class message1 from : \"alovelace\" content : \"...\" - class message2 from : \"sride\" content : \"...\" |"]]