একটি DataSnapshot
একটি ডাটাবেস অবস্থান থেকে তথ্য ধারণ করে।
যে কোনো সময় আপনি ডেটাবেস থেকে ডেটা পড়েন, আপনি ডেটা DataSnapshot
হিসাবে ডেটা পাবেন . একটি DataSnapshot
ইভেন্ট কলব্যাকে পাস করা হয় যা আপনি on()
বা once()
এর সাথে সংযুক্ত করেন . আপনি val()
পদ্ধতিতে কল করে জাভাস্ক্রিপ্ট অবজেক্ট হিসাবে স্ন্যাপশটের বিষয়বস্তু বের করতে পারেন। বিকল্পভাবে, আপনি চাইল্ড স্ন্যাপশট ফেরত দেওয়ার জন্য child()
কল করে স্ন্যাপশটে যেতে পারেন (যাকে আপনি তখন val()
অন কল করতে পারেন)।
একটি DataSnapshot
একটি ডেটাবেস অবস্থানে ডেটার একটি দক্ষতার সাথে তৈরি, অপরিবর্তনীয় অনুলিপি। এটি পরিবর্তন করা যাবে না এবং কখনই পরিবর্তন হবে না (ডেটা পরিবর্তন করতে, আপনি সর্বদা একটি Reference
set()
পদ্ধতিতে কল করুন)।
স্বাক্ষর:
export declare class DataSnapshot
বৈশিষ্ট্য
সম্পত্তি | সংশোধক | টাইপ | বর্ণনা |
---|---|---|---|
চাবি | স্ট্রিং | খালি | এই DataSnapshot অবস্থানের কী (পাথের শেষ অংশ)। একটি ডাটাবেসের অবস্থানের শেষ টোকেনটিকে এর কী হিসাবে বিবেচনা করা হয়। উদাহরণস্বরূপ, "ada" হল /users/ada/ নোডের কী। যেকোন DataSnapshot কী অ্যাক্সেস করলে সেটি তৈরি করা অবস্থানের জন্য কী ফিরে আসবে। যাইহোক, ডাটাবেসের রুট ইউআরএল-এর কী অ্যাক্সেস করলে null ফিরে আসবে। | |
অগ্রাধিকার | স্ট্রিং | সংখ্যা | খালি | এই DataSnapshot এ ডেটার অগ্রাধিকার মান পায়। অ্যাপ্লিকেশানগুলির অগ্রাধিকার ব্যবহার করার দরকার নেই তবে সাধারণ বৈশিষ্ট্যগুলির দ্বারা সংগ্রহের অর্ডার দিতে পারে ( ডেটা সাজানো এবং ফিল্টারিং দেখুন)। | |
রেফ | ডেটাবেস রেফারেন্স | এই ডেটাস্ন্যাপশটের অবস্থান। | |
আকার | সংখ্যা | এই DataSnapshot চাইল্ড বৈশিষ্ট্যের সংখ্যা প্রদান করে। |
পদ্ধতি
পদ্ধতি | সংশোধক | বর্ণনা |
---|---|---|
শিশু (পথ) | নির্দিষ্ট আপেক্ষিক পাথে অবস্থানের জন্য অন্য DataSnapshot পায়। একটি ডেটাস্ন্যাপশটের child() পদ্ধতিতে একটি আপেক্ষিক পাথ পাস করা নির্দিষ্ট আপেক্ষিক পাথে অবস্থানের জন্য আরেকটি DataSnapshot প্রদান করে। আপেক্ষিক পথটি হয় একটি সাধারণ শিশুর নাম (উদাহরণস্বরূপ, "ada") বা একটি গভীর, স্ল্যাশ-বিচ্ছিন্ন পথ (উদাহরণস্বরূপ, "ada/name/first") হতে পারে। যদি চাইল্ড অবস্থানে কোনো ডেটা না থাকে, তাহলে একটি খালি DataSnapshot (অর্থাৎ, একটি DataSnapshot যার মান null ) ফেরত দেওয়া হয়। | |
বিদ্যমান() | এই DataSnapshot কোনো ডেটা থাকলে সত্য ফেরত দেয়। এটি snapshot.val() !== null ব্যবহার করার চেয়ে কিছুটা বেশি দক্ষ। | |
এক্সপোর্টভ্যাল() | একটি JavaScript অবজেক্ট হিসাবে DataSnapshot-এর সম্পূর্ণ বিষয়বস্তু রপ্তানি করে। exportVal() পদ্ধতিটি val() এর মতই, অগ্রাধিকার তথ্য অন্তর্ভুক্ত করা ছাড়া (যদি উপলব্ধ থাকে), এটি আপনার ডেটা ব্যাক আপ করার জন্য উপযুক্ত করে তোলে। | |
প্রতিটি (ক্রিয়া) জন্য | IteratedDataSnapshot এ শীর্ষ-স্তরের শিশুদের গণনা করে। জাভাস্ক্রিপ্ট অবজেক্ট যেভাবে কাজ করে তার কারণে, val() দ্বারা প্রত্যাবর্তিত জাভাস্ক্রিপ্ট অবজেক্টে ডেটার ক্রম সার্ভারের অর্ডারিং বা onChildAdded() ইভেন্টের অর্ডারের সাথে মেলে না। যেখানে forEach() কাজে আসে। এটি গ্যারান্টি দেয় যে একটি DataSnapshot বাচ্চাদের তাদের ক্যোয়ারী অর্ডারে পুনরাবৃত্তি করা হবে। যদি কোনো সুস্পষ্ট orderBy*() পদ্ধতি ব্যবহার না করা হয়, ফলাফলগুলি কী দ্বারা ক্রমানুসারে ফেরত দেওয়া হয় (যদি না অগ্রাধিকার ব্যবহার করা হয়, এই ক্ষেত্রে, ফলাফলগুলি অগ্রাধিকার দ্বারা ফেরত দেওয়া হয়)। | |
hasChild(পথ) | নির্দিষ্ট চাইল্ড পাথে (নন-নাল) ডেটা থাকলে সত্য দেখায়। | |
haschildren() | DataSnapshot কোনো নন- null চাইল্ড বৈশিষ্ট্য আছে কি না তা ফেরত দেয়। DataSnapshot কোনো সন্তান আছে কিনা তা নির্ধারণ করতে আপনি hasChildren() ব্যবহার করতে পারেন। যদি এটি হয়, আপনি forEach() ব্যবহার করে তাদের গণনা করতে পারেন। যদি তা না হয়, তাহলে হয় এই স্ন্যাপশটে একটি আদিম মান রয়েছে (যা val() দিয়ে পুনরুদ্ধার করা যেতে পারে) অথবা এটি খালি (যে ক্ষেত্রে, val() null ফেরত দেবে)। | |
toJSON() | এই বস্তুর একটি JSON-ক্রমিক উপস্থাপনা প্রদান করে। | |
ভাল() | একটি DataSnapshot থেকে একটি JavaScript মান বের করে। DataSnapshot ডেটার উপর নির্ভর করে, val() পদ্ধতিটি একটি স্কেলার টাইপ (স্ট্রিং, সংখ্যা বা বুলিয়ান), একটি অ্যারে বা একটি বস্তু প্রদান করতে পারে। এটি DataSnapshot খালি (কোন ডেটা নেই) ইঙ্গিত করে শূন্যও হতে পারে। |
DataSnapshot.key
এই DataSnapshot
অবস্থানের কী (পাথের শেষ অংশ) .
একটি ডাটাবেসের অবস্থানের শেষ টোকেনটিকে এর কী হিসাবে বিবেচনা করা হয়। উদাহরণস্বরূপ, "ada" হল /users/ada/ নোডের কী। যেকোন DataSnapshot
কী অ্যাক্সেস করলে সেটি তৈরি করা অবস্থানের জন্য কী ফিরে আসবে। যাইহোক, ডাটাবেসের রুট ইউআরএল-এর কী অ্যাক্সেস করা null
হয়ে যাবে .
স্বাক্ষর:
get key(): string | null;
DataSnapshot.priority
এই DataSnapshot
এ ডেটার অগ্রাধিকার মান পায় .
অ্যাপ্লিকেশানগুলির অগ্রাধিকার ব্যবহার করার দরকার নেই তবে সাধারণ বৈশিষ্ট্যগুলির দ্বারা সংগ্রহের অর্ডার দিতে পারে ( ডেটা সাজানো এবং ফিল্টারিং দেখুন)।
স্বাক্ষর:
get priority(): string | number | null;
DataSnapshot.ref
এই ডেটাস্ন্যাপশটের অবস্থান।
স্বাক্ষর:
readonly ref: DatabaseReference;
DataSnapshot.size
এই DataSnapshot
চাইল্ড প্রপার্টির সংখ্যা প্রদান করে .
স্বাক্ষর:
get size(): number;
DataSnapshot.child()
নির্দিষ্ট আপেক্ষিক পাথে অবস্থানের জন্য অন্য DataSnapshot
পায়।
একটি ডেটাস্ন্যাপশটের child()
পদ্ধতিতে একটি আপেক্ষিক পাথ পাস করা নির্দিষ্ট আপেক্ষিক পাথে অবস্থানের জন্য আরেকটি DataSnapshot
প্রদান করে। আপেক্ষিক পথটি হয় একটি সাধারণ শিশুর নাম (উদাহরণস্বরূপ, "ada") বা একটি গভীর, স্ল্যাশ-বিচ্ছিন্ন পথ (উদাহরণস্বরূপ, "ada/name/first") হতে পারে। যদি চাইল্ড অবস্থানে কোনো ডেটা না থাকে, তাহলে একটি খালি DataSnapshot
(অর্থাৎ, একটি DataSnapshot
যার মান null
) ফেরত দেওয়া হয়।
স্বাক্ষর:
child(path: string): DataSnapshot;
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
পথ | স্ট্রিং | চাইল্ড ডেটার অবস্থানের একটি আপেক্ষিক পথ। |
রিটার্ন:
DataSnapshot.exists()
এই DataSnapshot
কোনো ডেটা থাকলে সত্য ফেরত দেয়। এটি snapshot.val() !== null
ব্যবহার করার চেয়ে কিছুটা বেশি কার্যকর .
স্বাক্ষর:
exists(): boolean;
রিটার্ন:
বুলিয়ান
DataSnapshot.exportVal()
একটি JavaScript অবজেক্ট হিসাবে DataSnapshot-এর সম্পূর্ণ বিষয়বস্তু রপ্তানি করে।
exportVal()
পদ্ধতিটি val()
এর অনুরূপ , অগ্রাধিকার তথ্য ব্যতীত অন্তর্ভুক্ত করা হয়েছে (যদি উপলব্ধ থাকে), এটি আপনার ডেটা ব্যাক আপ করার জন্য উপযুক্ত করে তোলে।
স্বাক্ষর:
exportVal(): any;
রিটার্ন:
যেকোনো
জাভাস্ক্রিপ্ট মান হিসাবে ডেটাস্ন্যাপশটের বিষয়বস্তু (অবজেক্ট, অ্যারে, স্ট্রিং, সংখ্যা, বুলিয়ান বা null
)
DataSnapshot.forEach()
IteratedDataSnapshot
এ শীর্ষ-স্তরের শিশুদের গণনা করে৷ .
জাভাস্ক্রিপ্ট অবজেক্ট যেভাবে কাজ করে তার কারণে, val()
দ্বারা প্রত্যাবর্তিত জাভাস্ক্রিপ্ট অবজেক্টে ডেটার ক্রম সার্ভারের অর্ডারিং বা onChildAdded()
ইভেন্টের অর্ডারের সাথে মেলে না। যেখানে forEach()
কাজে আসে। এটি গ্যারান্টি দেয় যে একটি DataSnapshot
বাচ্চাদের তাদের ক্যোয়ারী অর্ডারে পুনরাবৃত্তি করা হবে।
যদি কোনো সুস্পষ্ট orderBy*()
পদ্ধতি ব্যবহার না করা হয়, ফলাফলগুলি কী দ্বারা ক্রমানুসারে ফেরত দেওয়া হয় (যদি না অগ্রাধিকার ব্যবহার করা হয়, এই ক্ষেত্রে, ফলাফলগুলি অগ্রাধিকার দ্বারা ফেরত দেওয়া হয়)।
স্বাক্ষর:
forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
কর্ম | (শিশু: IteratedDataSnapshot ) => বুলিয়ান | অকার্যকর | একটি ফাংশন যা প্রতিটি শিশুর জন্য কল করা হবে ডেটাস্ন্যাপশট৷ আরও গণনা বাতিল করতে কলব্যাক সত্যে ফিরে আসতে পারে। |
রিটার্ন:
বুলিয়ান
সত্য যদি আপনার কলব্যাক সত্যে ফিরে আসার কারণে গণনা বাতিল করা হয়।
DataSnapshot.hasChild()
নির্দিষ্ট চাইল্ড পাথে (নন-নাল) ডেটা থাকলে সত্য দেখায়।
স্বাক্ষর:
hasChild(path: string): boolean;
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
পথ | স্ট্রিং | সম্ভাব্য সন্তানের অবস্থানের একটি আপেক্ষিক পথ। |
রিটার্ন:
বুলিয়ান
নির্দিষ্ট চাইল্ড পাথে ডেটা বিদ্যমান থাকলে true
; অন্যথায় false
.
DataSnapshot.hasChildren()
DataSnapshot
কোনো নন- null
চাইল্ড বৈশিষ্ট্য আছে কি না তা ফেরত দেয়।
DataSnapshot
কোনো সন্তান আছে কিনা তা নির্ধারণ করতে আপনি hasChildren()
ব্যবহার করতে পারেন। যদি এটি হয়ে থাকে, আপনি forEach()
ব্যবহার করে তাদের গণনা করতে পারেন . যদি তা না হয়, তাহলে হয় এই স্ন্যাপশটে একটি আদিম মান রয়েছে (যা val()
দিয়ে পুনরুদ্ধার করা যেতে পারে ) অথবা এটি খালি (যে ক্ষেত্রে, val()
null
ফিরবে )
স্বাক্ষর:
hasChildren(): boolean;
রিটার্ন:
বুলিয়ান
এই স্ন্যাপশটের কোনো সন্তান থাকলে সত্য; অন্যথায় মিথ্যা।
DataSnapshot.toJSON()
এই বস্তুর একটি JSON-ক্রমিক উপস্থাপনা প্রদান করে।
স্বাক্ষর:
toJSON(): object | null;
রিটার্ন:
বস্তু | খালি
DataSnapshot.val()
একটি DataSnapshot
থেকে একটি JavaScript মান বের করে .
DataSnapshot
ডেটার উপর নির্ভর করে , val()
পদ্ধতি একটি স্কেলার টাইপ (স্ট্রিং, সংখ্যা, বা বুলিয়ান), একটি অ্যারে বা একটি বস্তু ফেরত দিতে পারে। এটি DataSnapshot
খালি (কোন ডেটা নেই) ইঙ্গিত করে শূন্যও হতে পারে।
স্বাক্ষর:
val(): any;
রিটার্ন:
যেকোনো
জাভাস্ক্রিপ্ট মান হিসাবে ডেটাস্ন্যাপশটের বিষয়বস্তু (অবজেক্ট, অ্যারে, স্ট্রিং, সংখ্যা, বুলিয়ান বা null
)