PouchDB - Tìm nạp hàng loạt

Bạn có thể đọc / truy xuất nhiều / hàng loạt tài liệu từ cơ sở dữ liệu trong PouchDB bằng cách sử dụng allDocs() phương pháp.

Cú pháp

Sau đây là cú pháp sử dụng db.allDocs()phương pháp PouchDB. Phương thức này chấp nhận một hàm gọi lại tùy chọn.

db.allDocs()

Thí dụ

Sau đây là một ví dụ về truy xuất tất cả các tài liệu trong cơ sở dữ liệu có tên my_database được lưu trữ cục bộ, sử dụng db.allDocs()phương pháp. Phương thức này truy xuất mảng tài liệu dưới dạng đối tượng, để lấy nội dung của mỗi tài liệu bạn cần gọi là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);
   }
});

Lưu đoạn mã trên vào một tệp có tên Read_All_Document.js. Mở dấu nhắc lệnh và thực thi tệp JavaScript bằngnode như hình bên dưới.

C:\PouchDB_Examples >node Read_All_Document.js

Điều này đọc tất cả các tài liệu tồn tại trong cơ sở dữ liệu có tên my_databaseđược lưu trữ cục bộ. Thông báo sau được hiển thị trên bảng điều khiển.

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

Nói chung, như trong kết quả trên, sử dụng allDocs() phương pháp bạn chỉ có thể thấy _id, key_revcác trường của mỗi tài liệu. Tuy nhiên, để đưa toàn bộ tài liệu vào kết quả, bạn phải tạo tham số tùy chọninclude_docs đúng như hình bên dưới.

//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);
   }
});

Việc thực thi đoạn mã trên cung cấp cho bạn danh sách các tài liệu đầy đủ trong các tài liệu được chỉ định như được hiển thị trong đoạn mã sau.

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

Đọc một loạt từ cơ sở dữ liệu từ xa

Bạn cũng có thể tìm nạp tất cả các tài liệu từ cơ sở dữ liệu được lưu trữ từ xa trên máy chủ (CouchDB).

Để làm như vậy thay vì tên cơ sở dữ liệu, bạn cần chuyển đường dẫn đến cơ sở dữ liệu trong CouchDB, nơi chứa tài liệu sẽ được đọc.

Thí dụ

Giả sử có một cơ sở dữ liệu có tên my_databasetrong máy chủ CouchDB. Sau đó, nếu bạn xác minh danh sách cơ sở dữ liệu trong CouchDB bằng URLhttp://127.0.0.1:5984/_utils/index.html bạn sẽ nhận được ảnh chụp màn hình sau.

Sau đây là một ví dụ về việc đọc tất cả các tài liệu tồn tại trong cơ sở dữ liệu có tên my_database được lưu trữ trong máy chủ 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);
   }
});

Lưu đoạn mã trên vào một tệp có tên Remote_Read_AllDocument.js. Mở dấu nhắc lệnh và thực thi tệp JavaScript bằngnode như hình bên dưới.

C:\PouchDB_Examples >node Remote_Read_AllDocument.js

Thao tác này đọc nội dung của tài liệu đã cho tồn tại trong cơ sở dữ liệu có tên my_database được lưu trữ trong CouchDB và hiển thị trên bảng điều khiển như hình dưới đây.

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