如何在PouchDB上查询

时间:2018-01-19 14:32:22

标签: ionic-framework nosql pouchdb

让我说我的pouchdb中有这样的文件:

{
    "_id" : "685866641",
    "name" : "john",
    "age" : 56,
    "job" : "mason"
}

如何查询数据库以返回作业为泥瓦匠的所有文档? (我正在使用离子)

2 个答案:

答案 0 :(得分:2)

我不知道“离子”,但我一直在使用“pouchdb.find.js”:

https://github.com/nolanlawson/pouchdb-find

还有“pouchdb.quick-search.js”:

https://github.com/pouchdb-community/pouchdb-quick-search

答案 1 :(得分:1)

比尔说你需要一个插件。一旦你安装了pouchdb我就会使用这些导入(我想我使用的是6.3.2):

// pouchdb stuff:
import PouchDB from 'pouchdb';
import PouchDBFind from 'pouchdb-find';

然后你需要确保在构造函数中初始化这个插件:

 constructor(
    public http: HttpClient, 
  ) {
    PouchDB.plugin(PouchDBFind);
  }

以正常方式启动数据库后:

initdb(dbname) { this.db = new PouchDB(dbname) }

您可以使用以下查找查询:

getDataById = (snippetId) => {
      return new Promise((resolve, reject)=>{
          this.db.find({
              selector: {
                  _id: snippetId
              }
          }).then((res) => {
              resolve(res.docs[0]);
          }).catch((err) => { 
              reject(err);
          })
      })
  };