노드의 Firestore CRUD를 사용합니다.js SDK

Cloud Firestore는 데이터베이스를 관리하는 모든 복잡한 세부 사항을 처리할 수 있기 때문에 내부 응용 프로그램을 구축하기에 매우 적합합니다.이 자습서에서는 이 노드를 사용하여 Cloud Firestore에서 기본 CRUD 응용 프로그램을 설정하는 방법을 보여 줍니다.js SDK:
  • 클라우드 Firestore 노드를 설정합니다.js SDK
  • Create data
  • Read data
  • Update data

  • Delete data

  • 노드를 설정하는 중입니다.클라우드 Firestore의 js SDK
    시작하려면 먼저 노드를 설치해야 합니다.js 클라이언트 라이브러리와 데이터베이스 실례를 초기화합니다.라이브러리는 다음과 같은 방법으로 npm 설치할 수 있습니다.
    npm install firebase-admin --save 
    
    패키지를 설치한 후에는 initialize the database가 필요합니다.곡가운 플랫폼Firebase Cloud Functions이나 자신의 서버를 통해 이를 실현할 수 있다.이 자습서에서는 애플리케이션에 API 요청을 보내는 계정 IDservice account를 사용하여 자신의 서버에서 데이터베이스를 초기화하는 방법here에 대한 자세한 정보를 제공합니다.
    우선 구글 클라우드 플랫폼 계정에 있는 서비스 계정 메뉴IAM & Admin에 들어가야 합니다.새 개인 키를 생성하여 JSON 파일로 저장하고 서버에 추가합니다.
    그리고 index.js 파일에 firebase-admin 라이브러리를 포함하고 서버에서 서비스 계정의 개인 키를 가져옵니다.firebase-admin 라이브러리를 사용하여 프로그램을 초기화하고 대상을 전달합니다. 그 중에서 credential를 키로 하고 firestore.credential.cert()(귀하의 서비스 계정을 매개 변수로 함)를 값으로 합니다.
    const fs = require('firebase-admin');
    
    const serviceAccount = require('./path/to/key.json');
    
    fs.initializeApp({
     credential: fs.credential.cert(serviceAccount)
    });
    
    마지막으로 firestore() 방법을 호출하여 데이터베이스를 만듭니다.
    const db = fs.firestore(); 
    

    Firestore 노드의 기본 때js SDK
    만약 예시 데이터가 없다면, 이것은 CRUD 튜토리얼이 아니기 때문에, 우리는 그것을 한쪽에 두겠습니다.만약에 우리가 온라인 소매상에게 내부 도구를 구축하고 있다면 예를 들어 고객 지원 대표에게 사용자 데이터를 보여주는 도구가 있다.
    {
     "first": "Liam",
     "last": "Ragozzine",
     "address": "133 5th St., San Francisco, CA",
     "birthday": "05/13/1990",
     "age": "30"
    },
    {
     "first": "Vanessa",
     "last": "Peluso",
     "address": "49 Main St., Tampa, FL",
     "birthday": "11/30/1977",
     "age": "47"
    }
    
    물론 이 데이터 집합은 너무 간소화되었다. 더 복잡한 설정에 대해Firestore의 데이터 구조는 두 가지 옵션이 있다.
  • 파일
  • 다중 시리즈
  • 문서의 하위 집합
  • 모든 방법은 각자의 장단점을 가지고 있으며, 그것들은 사용하기 쉽고, 확장성, 복잡성 방면에서 작용을 발휘한다.Cloud Firestore righthere에서 구조화된 데이터에 대한 자세한 내용을 읽을 수 있습니다.
    알았어?위대하다이제 크루드를 보자.
    set()로 데이터 생성
    데이터베이스를 채우기 위해서 우리는 set() method를 사용할 것이다.우선, 우리는 users 방법으로 채워야 한다collection() 집합을 지정해야 한다.이렇게 하려면 컬렉션의 이름을 메서드에 문자열로 전달하기만 하면 됩니다.
    const usersDb = db.collection('users'); 
    
    이제 새 사용자인 Liam Ragozzine을 추가하려면 첫 번째 문서를 지정해야 합니다.이를 위해 doc() method를 사용하겠습니다.이 방법을 사용하려면 문서의 id를 문자열로 doc()에 전달하십시오.이 예에서 id는'lragozzine'이다.
    const liam = usersDb.doc('lragozzine'); 
    
    추가할 문서를 지정한 후 데이터를 대상으로 전달set()하여 문서의 데이터를 설정할 수 있습니다.
    await liam.set({
     first: 'Liam',
     last: 'Ragozzine',
     address: '133 5th St., San Francisco, CA',
     birthday: '05/13/1990',
     age: '30'
    });
    
    경탄할 만한!이제 두 번째 사용자를 추가하려면 다음과 같이 표시됩니다.
    await usersDb.doc('vpeluso').set({
     first: 'Vanessa',
     last: 'Peluso',
     address: '49 Main St., Tampa, FL',
     birthday: '11/30/1977',
     age: '47'
    });
    
    주의해야 할 중요한 것은 set() 방법이 이미 존재하는 문서를 덮어쓰는 것이다.Dell은 .doc(ID)를 사용하여 set()를 사용하여 새 문서를 만들고 있지만 전송 ID가 있는 문서가 이미 있는 경우 사용자가 전달한 데이터.set()가 현재 존재하는 모든 내용을 덮어씁니다.
    현재 우리의 데이터베이스에 이미 데이터가 있으니 우리는 계속 읽을 수 있다.
    get()로 데이터 읽기
    Firestore에서 데이터를 읽으려면 get() method를 사용합니다.집합을 읽으려면 호출collection() 전에 지정하십시오get().또는 문서를 읽을 필요가 있으면 호출doc() 전에 지정하십시오get().
    // get collection
    const users = await db.collection('users').get();
    
    // get document
    const liam = await db.collection('users').doc('liam').get();
    
    문서가 존재하지 않으면 결과는 비어 있습니다.그래서 위의 예에서 liam에는 데이터가 없다.문서의exists를 호출해서 이 점을 검사할 수 있습니다.이 문서가 exists 이면,true를 되돌려줍니다. data() 이 문서의 데이터를 읽을 수 있습니다.그렇지 않으면,false를 되돌려줍니다.
    if (!liam.exists) {
     console.log('No document');
    } else {
     console.log(liam.data());
    }
    
    결과를 필터링(조회)하려면 다음 세 가지 매개변수로 구성된 where()를 사용합니다.
  • 집합에서 테스트
  • 값에 사용되는 필드
  • 관계 연산자(예: <, > 또는 ==)
  • 에 따라 계산할 첫 번째 매개 변수의 값
    예를 들어, 40세 이하 사용자에게 모든 문서를 제공하려면 다음을 사용합니다.
    const under30 = await
     db.collection('users').where('age', '<=', 40).get();
    
    Cloud Firestore가 정말 멋있는 점은 onSnapshot() method 를 사용하여 데이터의 실시간 업데이트를 얻을 수 있다는 것입니다.이것은 데이터베이스에 있는 모든 문서의 변경 사항을 감청할 수 있도록 합니다.초기화 방법과 리셋 함수를 전달하여 데이터를 처리한 후 내용이 바뀔 때마다 업데이트를 받는다.
    const liam = db.collection('users').doc('liam');
    
    const observer = liam.onSnapshot(snapshot => {
     console.log(`changes: ${snapshot}`);
    }, err => {
     console.log(`Error: ${err}`);
    });
    
    현재, 당신의 응용은 최신 추세입니다.😎
    set()update() 업데이트 데이터 사용
    Firestore에는 데이터를 업데이트하는 두 가지 방법이 있습니다. set() 또는 update().요컨대, 사용 set() 은 일반적으로 사용 중인 전체 문서를 덮어쓰지만, update() 는 특정 필드를 업데이트하는 데 가장 적합하며, 다른 필드는 변하지 않는다.set()부터 리암의 서류에 그가 결혼했다는 것을 기록하고 싶다면 대상set()으로 전화할 것이다{ married: true }.앞에서 언급한 바와 같이 이미 존재하는 문서에 set () 를 사용하면 merge: true 을 지정하지 않으면 덮어씁니다. 아래와 같습니다.
    const liam = await
     db.collection('users').doc('lragozzine').set({
       married: true
     }, { merge: true });
    
    알림: 문서가 이미 존재하는지 확인하지 못하면, 데이터를 덮어쓰지 않도록 merge 추가하십시오.
    update() method를 사용하여 문서의 필드를 업데이트하려면 업데이트할 필드가 포함된 객체를 매개 변수로 전달합니다update().
    const liam = await
     db.collection('users').doc('lragozzine').update({
       married: true
     });
    
    중첩된 객체의 데이터를 업데이트하려면 를 사용해야 합니다update().만약에 우리가 대상을 추가하고 싶다면 고객이 가장 좋아하는 것(예를 들어 가장 좋아하는 색깔, 제품 라인 또는bad's 90s 텔레비전 프로그램)에 대한 키 값이 맞다면 우리는 대상을 전달할 것이다. 그 중에서 키는 하나의 경로이다. 아래와 같다.
    const liam = await
     db.collection('users').doc('lragozzine').update({
       'favorites.item': 'Ties'
     });
    
    이제 문서를 통합하고 업데이트하는 방법을 알았으니 계속 삭제합시다.
    delete()를 사용하여 데이터 삭제
    이것은 이상하지 않습니다. delete() method 를 사용하여Firestore에서 데이터를 삭제할 수 있습니다.그것은 이렇게 보인다.
    await db.collection('users').doc('lragozzine').delete(); 
    
    이것은 users 데이터베이스에서 렘의 전체 문서를 삭제할 것이다.
    참고: 문서를 삭제하면 문서의 하위 컬렉션이 삭제되지 않습니다.따라서 Liam의 문서에 주문 데이터가 있는 문서가 orders라는 하위 집합이 있다면 lragozzine 문서를 삭제해도 하위 집합orders에 접근할 수 있습니다. 다음과 같습니다.
    const liamOrders = await db.collection('users').doc('lragozzine')
     .collection('orders').doc('123').get();
    
    delete a field를 사용하려면 FieldValue.delete() 명령에서 update()을 사용합니다.먼저 FieldValue 객체를 가져온 다음 호출해야 합니다delete().
    const FieldValue = fs.firestore.FieldValue;
    
    const r = await
     db.collection('users').doc('lragozzine').update({
       married: FieldValue.delete();
     });
    
    전체 집합을 삭제하는 것은 집합의 모든 문서를 검색하고 하나씩 삭제할 것을 요청해야 하기 때문에 더욱 복잡해질 수 있습니다.모음 삭제에 대한 자세한 내용은 Firebase’s guide를 참조하십시오.
    축하합니다!너 지금 운파이어스토어 때 전문가야.

    좋은 웹페이지 즐겨찾기