0
我正在构建一个应用程序,用户可以在其中输入一个单词。假设这样的话是汽车品牌。基于这个汽车品牌,我想获得每个工厂的工人数量。我在PouchDB数据库中的结构是每个文档代表一个工厂,文档包括工人数量和品牌名称。这些ID是日期时间,所以它们对查询没有帮助。在PouchDB视图的条件下获取并更新用户输入
这是我现在创建的代码:
function getWorkers() {
//Get and remove current design doc
factoryDB.get('_design/workers').then(function (doc) {
return factoryDB.remove(doc)
//Create new design doc and put it to the db
}).then(function() {
var designWorkers = {
_id: '_design/workers',
views: {
'workersView': {
map: function(doc) {
if (doc.Brand === $('#input').val()) {
emit(doc.workers,doc);}
}.toString()
}
}
};
return factoryDB.put(designWorkers);
//Now start the query
}).then(function() {
return factoryDB.query('workersView')
//And get the results
}).then(function(result) {
console.log(result)
}).catch(function (err) {
console.log(err)
});
};
的函数被调用当用户点击一个按钮。 这是第一次正常工作。但是,一旦我改变了这个词,它仍然返回上一个查询的结果。例如:
首先用户输入“Mercedes”,所有带有“Mercedes”的工厂文件将被退回。但是,如果我现在删除它,而是写上“奥迪”,我仍然可以得到“奔驰”的文件。我真的不明白,因为我认为我再次调用函数时会删除以前的设计文档,因此输入值也会发生变化。
我在这里做错了什么?