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'
}
}
]