برنامه نویسی

نمونه گیری بدون فهرست – جامعه dev

من هنوز هیچ شاخصی برای این پست ایجاد نخواهم کرد ، اما هنوز هم می توانم به طور موثر فیلتر کنم تا یک پرس و جو را در میلی ثانیه اجرا کنم. با این حال ، از آنجا که من هیچ مقداری را فهرست نکرده ام ، فیلتر به طور تصادفی داده ها را بدون ارائه هیچ مقدار واقعی نمونه می کند.

داده ها در اولین پست این سری وارد شد.

بدون شاخص ها ، نمایش داده شده در یک نمونه

بدون شاخص ها ، اسکن کل مجموعه ناکارآمد خواهد بود ، اما می توانم یک نمونه را اسکن کنم تا برخی از بینش در مورد داده ها را بدست آورم. به عنوان مثال ، من دسته بندی فیلم ها را از یک نمونه تصادفی از یک هزار لیست و شمارش می کنم:

db.youstats.aggregate([  
  { $sample: { size: 10000 } },  
  { $group: { _id: "$category", count: { $sum: 1 } , maxDuration: { $max: "$duration" } } },  
  {  $sort: { count: -1 } }  
]).explain('executionStats')

[
  { _id: 'Music', count: 1841, maxDuration: '99' },
  { _id: 'People', count: 1358, maxDuration: '99' },
  { _id: 'Entertainment', count: 1024, maxDuration: '99' },
  { _id: 'Education', count: 949, maxDuration: '99' },
  { _id: 'Tech', count: 698, maxDuration: '99' },
  { _id: 'Howto', count: 668, maxDuration: '99' },
  { _id: 'Sports', count: 498, maxDuration: '99' },
  { _id: 'News', count: 492, maxDuration: '99' },
  { _id: 'Animals', count: 477, maxDuration: '99' },
  { _id: 'Comedy', count: 434, maxDuration: '98' },
  { _id: 'Games', count: 415, maxDuration: '99' },
  { _id: 'Film', count: 384, maxDuration: '99' },
  { _id: 'Travel', count: 294, maxDuration: '97' },
  { _id: 'Autos', count: 276, maxDuration: '99' },
  { _id: 'Nonprofit', count: 151, maxDuration: '96' },
  { _id: '3', count: 28, maxDuration: '97' },
  { _id: '4', count: 10, maxDuration: '60' },
  { _id: '5', count: 3, maxDuration: '71' }
]
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

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

این اجازه می دهد تا به سرعت نگاهی به داده ها بیندازید تا ایده شکل را به دروازه بپردازید. همچنین می توانید از MongoDB Compass برای این کار استفاده کنید. و هنگامی که به اطلس وصل می شوید ، می توانید پرس و جو خود را به زبان خود تایپ کرده و خط لوله جمع آوری شده را تولید کنید:
شرح تصویر

در پست های بعدی ، ما برخی از شاخص ها را برای ارائه موارد بیشتر استفاده خواهیم کرد.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا