각 리소스에서 $createdAt 및 $updatedAt 소개

Appwrite은 핵심 백엔드 요구 사항에 맞는 일련의 REST API를 제공하여 최신 애플리케이션 구축과 관련된 모든 복잡성을 추상화하는 서비스형 오픈 소스 백엔드입니다. Appwrite는 사용자 인증 및 권한 부여, 실시간 데이터베이스, 클라우드 기능, 웹후크 등을 처리합니다!

최신 에서 흥미로운 새 기능을 많이 소개했으며 그 중 하나는 두 가지 새로운 타임스탬프 속성$createdAt$updatedAt 🥳 추가입니다. 우리는 이 블로그에서 그것으로 무엇을 할 수 있는지에 대해 이야기할 것입니다.

👀 새로운 소식



0.15부터 리소스에 새로 추가된 두 가지 속성을 볼 수 있어야 합니다. 문서의 JSON으로 보기 옵션을 클릭하여 콘솔에서 간단히 확인할 수 있습니다. 데이터베이스 -> [내 데이터베이스] -> [내 컬렉션] -> [모든 문서]로 이동하면 오른쪽에 JSON으로 볼 수 있는 옵션이 표시됩니다. 그것을 클릭하면 새로 추가된 속성이 나타납니다.



이름에서 알 수 있듯이 $createdAt는 리소스가 생성된 시간을 포함하고 $updatedAt는 리소스가 마지막으로 수정된 마지막 시간을 포함하며 둘 다 UNIX 시간 형식(초)입니다. 새로 추가된 속성은 개발자에게 더 많은 유연성을 제공하고 특정 사용 사례의 구현을 매우 간단하게 만듭니다. 방법을 살펴보겠습니다! 😎

🧠 사용 사례



1) ⚡ 문서 정렬

사용 사례 중 하나는 최신/가장 오래된 문서를 기준으로 문서를 정렬하는 기능입니다. 이것은 채팅 애플리케이션에 이상적입니다.

최신순으로 정렬하려면 새로 추가된 속성을 순서 매개변수로 사용하면 됩니다.


import { Databases } from "appwrite";

const databases = new Databases(client, '[DATABASE_ID]'); // client should be Appwrite Client

const documents = await databases.listDocuments(
  '[COLLECTION_ID]',
  undefined,
  undefined,
  undefined,
  undefined,
  undefined,
  ['$createdAt'],
  ['DESC'],
);


이렇게 하면 최근에 생성되고 정렬된 문서 목록이 표시됩니다.

2) 🕒 시간 정보 표시

블로그 애플리케이션에서 블로그가 게시된 시간을 표시하고 싶을 것입니다. 또 다른 예로 콘텐츠가 마지막으로 업데이트된 시기를 표시하려는 Q/A 포럼 애플리케이션을 들 수 있습니다.

Appwrite에서 오는 타임스탬프에서 날짜를 인쇄하여 이를 수행할 수 있습니다.


import { Databases } from "appwrite";

const databases = new Databases(client, '[DATABASE_ID]'); // client should be Appwrite Client

const document = await database.getDocument('[COLLECTION_ID]', '[DOCUMENT_ID]');

const created = new Date(document.$createdAt * 1000); // Date class expects milliseconds
const updated = new Date(document.$updatedAt * 1000);

console.log(`Document was created on ${created.toGMTString()}, and last updated on ${updated.toGMTString()}.`);


3) 🤖 문서 쿼리

새로 추가된 속성은 Query API에서도 사용할 수 있습니다. 애플리케이션의 "최신"탭 아래에 지난 7일 동안 생성된 문서만 나열하려면 $createdAt를 사용하면 됩니다. 쿼리에서:


import { Databases, Query } from "appwrite";

const databases = new Databases(client, '[DATABASE_ID]'); // client should be Appwrite Client

const lastWeekTimestamp = Date.now() - 604800000;

const documents = await databases.listDocuments(
  '[COLLECTION_ID]',
  [ Query.greaterEqual('​​$createdAt', lastWeekTimestamp) ]
);


지난 7일 동안 생성된 문서를 가져옵니다.

위의 내용은 속성을 활용할 수 있는 기본적인 방법 중 일부입니다. 이전에는 구현하기가 약간 복잡한 클라우드 기능으로만 가능했지만 최신 릴리스 🥳 덕분에 이러한 사용 사례에 액세스할 수 있게 되었습니다. 이제 속성을 활용하는 방법은 개발자에게 달려 있습니다. 일반적으로 이러한 속성은 시스템 데이터, 주문 데이터, 쿼리 데이터 및 표시 시간 정보를 감사하는 데 유용합니다.

이것으로 끝입니다🤩. 공유할 프로젝트가 있거나 도움이 필요하거나 단순히 Appwrite 커뮤니티의 일원이 되고 싶다면 공식 AppwriteDiscord server에 가입하시기 바랍니다.

📚 더 알아보기



다음 리소스를 사용하여 자세히 알아보고 도움을 받을 수 있습니다.
  • 🚀 Appwrite Github
  • 📜 Appwrite Docs
  • 💬 Discord Community
  • 좋은 웹페이지 즐겨찾기