PouchDB - ดึงข้อมูลแบทช์

คุณสามารถอ่าน / ดึงเอกสารหลายชุด / จำนวนมากจากฐานข้อมูลใน PouchDB โดยใช้ไฟล์ allDocs() วิธี.

ไวยากรณ์

ต่อไปนี้เป็นไวยากรณ์ของการใช้ db.allDocs()วิธีการของ PouchDB วิธีนี้ยอมรับฟังก์ชันเรียกกลับที่เป็นทางเลือก

db.allDocs()

ตัวอย่าง

ต่อไปนี้เป็นตัวอย่างของการดึงเอกสารทั้งหมดในฐานข้อมูลที่ชื่อ my_database ที่จัดเก็บไว้ในเครื่องโดยใช้ db.allDocs()วิธี. วิธีนี้จะดึงอาร์เรย์ของเอกสารในรูปแบบของวัตถุเพื่อรับเนื้อหาของเอกสารแต่ละฉบับที่คุณต้องการเรียกว่าdocs.rows.

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('my_database');

//Retrieving all the documents in PouchDB
db.allDocs(function(err, docs) {
   if (err) {
      return console.log(err);
   } else {
      console.log (docs.rows);
   }
});

บันทึกรหัสด้านบนในไฟล์ที่มีชื่อ Read_All_Document.js. เปิดพรอมต์คำสั่งและเรียกใช้ไฟล์ JavaScript โดยใช้node ดังแสดงด้านล่าง

C:\PouchDB_Examples >node Read_All_Document.js

สิ่งนี้อ่านเอกสารทั้งหมดที่มีอยู่ในฐานข้อมูลที่ชื่อ my_databaseซึ่งจัดเก็บไว้ในเครื่อง ข้อความต่อไปนี้แสดงขึ้นบนคอนโซล

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5' } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '1-9bf80afcedb9f8b5b35567292affb254' } 
    },
   { 
      id: '003',
      key: '003',
      value: { rev: '1-1204f108e41bf8baf867856d5da16c57' } 
   }
]

โดยทั่วไปดังที่แสดงในผลลัพธ์ข้างต้นโดยใช้ allDocs() วิธีที่คุณสามารถดูได้เฉพาะไฟล์ _id, key และ _revฟิลด์ของเอกสารแต่ละฉบับ อย่างไรก็ตามหากต้องการรวมเอกสารทั้งหมดในผลลัพธ์คุณต้องสร้างพารามิเตอร์ที่เป็นทางเลือกinclude_docs จริงตามที่แสดงด้านล่าง

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('my_database');

//Retrieving all the documents in PouchDB
db.allDocs({include_docs: true}, function(err, docs) {
   if (err) {
      return console.log(err);
   } else {
      console.log (docs.rows);
   }
});

การดำเนินการตามรหัสข้างต้นจะทำให้คุณมีรายการเอกสารที่สมบูรณ์ในเอกสารที่ระบุดังที่แสดงในรหัสต่อไปนี้

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5' },
      doc: { 
         name: 'Ram',
         age: 23,
         Designation: 'Programmer',
         _id: '001',
         _rev: '1-9dc57f5faa7ea90eeec22eba8bfd05f5' 
      } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '1-9bf80afcedb9f8b5b35567292affb254' },
      doc: { 
         name: 'Robert',
         age: 24,
         Designation: 'Programmer',
         _id: '002',
         _rev: '1-9bf80afcedb9f8b5b35567292affb254' 
      } 
   },
   { 
      id: '003',
      key: '003',
      value: { rev: '1-1204f108e41bf8baf867856d5da16c57' },
      doc: { 
         name: 'Rahim',
         age: 25,
         Designation: 'Programmer',
         _id: '003',
         _rev: '1-1204f108e41bf8baf867856d5da16c57' 
      } 
   }
]

การอ่านแบทช์จากฐานข้อมูลระยะไกล

คุณยังสามารถดึงเอกสารทั้งหมดจากฐานข้อมูลที่จัดเก็บจากระยะไกลบนเซิร์ฟเวอร์ (CouchDB)

ในการทำเช่นนั้นแทนชื่อฐานข้อมูลคุณต้องส่งเส้นทางไปยังฐานข้อมูลใน CouchDB ซึ่งมีเอกสารที่จะอ่าน

ตัวอย่าง

สมมติว่ามีฐานข้อมูลชื่อ my_databaseในเซิร์ฟเวอร์ CouchDB จากนั้นหากคุณตรวจสอบรายชื่อฐานข้อมูลใน CouchDB โดยใช้ URLhttp://127.0.0.1:5984/_utils/index.html คุณจะได้รับภาพหน้าจอต่อไปนี้

ต่อไปนี้เป็นตัวอย่างของการอ่านเอกสารทั้งหมดที่มีอยู่ในฐานข้อมูลที่ชื่อ my_database ซึ่งถูกเก็บไว้ในเซิร์ฟเวอร์ CouchDB

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('http://localhost:5984/my_database');

//Retrieving all the documents in PouchDB
db.allDocs({include_docs: true}, function(err, docs) {
   if (err) {
      return console.log(err);
   } else {
      console.log(docs.rows);
   }
});

บันทึกรหัสด้านบนในไฟล์ที่มีชื่อ Remote_Read_AllDocument.js. เปิดพรอมต์คำสั่งและเรียกใช้ไฟล์ JavaScript โดยใช้node ดังแสดงด้านล่าง

C:\PouchDB_Examples >node Remote_Read_AllDocument.js

สิ่งนี้อ่านเนื้อหาของเอกสารที่กำหนดซึ่งมีอยู่ในฐานข้อมูลที่ชื่อ my_database ซึ่งเก็บไว้ใน CouchDB และแสดงบนคอนโซลดังที่แสดงด้านล่าง

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '3-552920d1ca372986fad7b996ce365f5d' },
      doc: { 
         _id: '001',
         _rev: '3-552920d1ca372986fad7b996ce365f5d',
         name: 'Raju',
         age: 23,
         designation: 'Designer' 
      } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '1-9af15cb11054ebe03a7816bf6c5e4128' },
      doc: { 
         _id: '002',
         _rev: '1-9af15cb11054ebe03a7816bf6c5e4128',
         name: 'Robert',
         age: 24,
         Designation: 'Programmer' 
      } 
   },
   { 
      id: '003',
      key: '003',
      value: { rev: '1-3033b5a78e915c52fd37325d42eb3935' },
      doc: { 
         _id: '003',
         _rev: '1-3033b5a78e915c52fd37325d42eb3935',
         name: 'Rahim',
         age: 25,
         Designation: 'Programmer' 
      } 
   } 
]