[ToyProject]インクリメンタルオーバーロードサイト-7
2074 ワード
:今日、計画通りにFirebaseにcollection、document、フィールド値などを作成し、モーションレコードを格納、表示、変更するロジックを作成します.実際、初めてNOSQL構造のDBを使うと、最初から配列やオブジェクトとしてデータを格納できる点が驚き(柔軟性の観点から)便利です.RDBMS(Mysqlなど)では、配列、リレーションシップの作成、外部キーリファレンスによるクエリーは不要ですが、FirebaseのCloudStoreではこれらのリレーションシップリファレンスは不要です(nosql構造であるため).の単字スクロールロジック(例えば、最近7日間のデータのみを受信) .
作成 Reactローカルメニューバーによる記録ページ、練習ページ等の移動 検索機能などが必要な場合があります.たとえば、特定の日付を検索すると、日付がフィルタされます.これはUIでも実現していないので実現すべきです. に質問
:今日ブログで振り返ってみると、日付はオブジェクトのキーなので、降順や昇順にソートするには、他の論理が必要だと思います.この部分も解決しなければなりません!我々の目標は,テンプレート機能を実装する前に1/1を達成することである.
next steps
クエリーがデータを記録するときに昇順と降順で受信またはソートする方法 . Reactローカルメニューバーを作成し、 を移動できます.検索機能と日付フィルタUIと機能を実現する 記録データ検証 事実上、これはこの昇順降順問題に類似した問題であり、記録データ自体(状態端またはフロントで管理されているデータ)もオブジェクトであり、以前「架台圧力」、「斜面圧力」があった場合、まず順序架台圧力が発生し、これを修正すると、例えばv-upsに変更される.自動的に順番を変えて、UXが混乱する問題があります.これに対して解決しなければならない.
const completeWorkout = async () => {
const date = moment().format("YYYY/MM/DD");
var recordRef = await db.collection("records").doc(user.email);
recordRef
.get()
.then((doc) => {
if (doc.exists) {
const data = doc.data()[date];
if (data) {
data.push(checkList);
recordRef.set(
{
[date]: data,
},
{ merge: true }
);
} else {
recordRef.set({
[date]: [checkList],
});
}
} else {
db.collection("records")
.doc(user.email)
.set({
[date]: [checkList],
});
}
})
.catch((error) => {
console.log("Error getting document:", error);
});
setCheckList({});
history.push("/main");
};
:以上のコードで、モーションレコード(1回)をcollectionに保存します.オブジェクトのキーをその日の日付に設定し、キーの値にその日のモーションの複数のトレーニングを格納し、後で受信または変更したときにハッシュ・テーブルのようにクエリーして書き込む配列を配置します.それぞれの電子メールをドキュメントの値として使用することを決定します.そこで、recordsページ(個人の動き記録を取得するページ)が完了しました.でも、ここで作成
:今日ブログで振り返ってみると、日付はオブジェクトのキーなので、降順や昇順にソートするには、他の論理が必要だと思います.この部分も解決しなければなりません!我々の目標は,テンプレート機能を実装する前に1/1を達成することである.
next steps
クエリー
Reference
この問題について([ToyProject]インクリメンタルオーバーロードサイト-7), 我々は、より多くの情報をここで見つけました https://velog.io/@0715yk/Toy-Project-점진적-과부하-사이트-7テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol