在PouchDB中创建数据库

时间:2016-08-01 18:03:22

标签: javascript sql sqlite cordova pouchdb

我目前正在使用Microsoft Visual Studio 2015& Cordova用于移动开发。

我试过通过PouchDB文档并使用他们提供的任何内容

function insertDB() {
    var db = new PouchDB("todos");
    var remoteDB = new PouchDB("http://localhost:5984/todos");

    db.put({
        _id: 'mydoc',
        title: 'Heroes'
    }).then(function (response) {
        // handle response
    }).catch(function (err) {
        console.log(err);
    });

    PouchDB.sync('remoteDB', 'http://localhost:5984/todos');
}

我使用了一个按钮来调用insertDB()函数,但是我有错误。

 <button onclick="insertDB()">Click Me!</button>

我一直收到错误,说localDB没有定义,PouchDB没有定义。我知道我做错了,因为我对PouchDB很新,我之前从未使用它。

我可以知道我在哪里做错了吗?

2 个答案:

答案 0 :(得分:0)

解决方案:

我意识到我链接了pouchdb的min.js但它无法找到该文件,因此未定义的错误。然后我使用了<script src="//cdn.jsdelivr.net/pouchdb/5.4.5/pouchdb.min.js"></script>并解决了问题。

答案 1 :(得分:0)

未定义表示您的pouchdb软件包未正确初始化 使用npm或CDN

   const PouchDB = require('pouchdb').default;

一切正确,请期待下面的行(您的语法错误)

var db = new PouchDB("todos");
var remoteDB = new PouchDB("http://localhost:5984/todos");
PouchDB.sync('remoteDB', 'http://localhost:5984/todos');

更正

var db = new PouchDB("todos");//localdb
var remoteDB = new PouchDB("http://localhost:5984/todos");
PouchDB.sync('db', 'http://localhost:5984/todos');

在pouchdb中,当您在下面的行中调用时,db将创建。如果db不存在

它会更新数据库(如果已经存在)

 var db = new PouchDB("todos");

因此上述单行用于通过使用put函数创建或更新数据 (如果您通过_id和_rev)会更新您的数据库

如果不通过_id和_rev,则插入新行

导入您的pouchdb

const PouchDB = require('pouchdb').default;

然后

function insertDB() {
    var db = new PouchDB("todos");
    var remoteDB = new PouchDB("http://localhost:5984/todos");

    db.put({
        _id: 'mydoc',
        title: 'Heroes'
    }).then(function (response) {
        // handle response
    }).catch(function (err) {
        console.log(err);
    });

    PouchDB.sync('db', 'http://localhost:5984/todos');
}