2014-05-18 15 views
6

Sử dụng /_changes?filter=_design Tôi có thể nhận tất cả các thay đổi cho thiết kế tài liệu.CouchDB, cách nhận thay đổi tài liệu chỉ

Làm cách nào để nhận tất cả thay đổi đối với tài liệu?

Có điều như vậy như /_changes?filter=_docs_only ???

Trả lời

5

Không có bộ lọc tích hợp cho việc này. Bạn sẽ cần phải viết chức năng lọc của riêng bạn (http://couchdb.readthedocs.org/en/latest/couchapp/ddocs.html#filterfun) loại trừ tài liệu thiết kế (kiểm tra tài liệu _id cho "_design/", v.v.) từ nguồn cấp dữ liệu. Sau đó, bạn tham chiếu hàm bộ lọc này khi bạn truy vấn nguồn cấp dữ liệu thay đổi (http://couchdb.readthedocs.org/en/latest/api/database/changes.html?highlight=changes). Tuy nhiên, hầu hết các ứng dụng không chạy quá thường xuyên vì tài liệu thiết kế thường chỉ được cập nhật khi có thay đổi ứng dụng.

Có lẽ sẽ hiệu quả hơn khi triển khai bộ lọc này ở phía máy khách thay vì truyền tất cả các thay đổi của bạn sang quy trình couchjs (luôn không hiệu quả). Khi ứng dụng của bạn lặp lại thông qua các thay đổi, hãy kiểm tra xem đó có phải là tài liệu thiết kế ở đó hay không.

Chúc mừng.

+0

Tôi đồng ý với bạn nhưng tôi muốn bỏ qua các tài liệu thiết kế vì khách hàng của tôi đang chạy trên thiết bị di động, vì vậy băng thông là một vấn đề. – Telemat

Các vấn đề liên quan