插入couchdb数据库后找不到/缺少文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入couchdb数据库后找不到/缺少文档相关的知识,希望对你有一定的参考价值。

我正在尝试创建一个名为'_users'的简单数据库,并使用Couch-DB将新用户插入其中。

我在shell中使用Node来运行以下代码:

UserProfile.js

var nano = require('nano')('http://localhost:5984')        
module.exports = {
    addUser: function(id, name, password){                
        var usersDB = nano.use('_users')
        var options = {
            "_id": "org.couchdb.user:"+id,
            "name": id,
            "roles": [],            
            "type": "user",
            "password": password
        }
        usersDB.insert(options, function(err, body, header) { 
            console.log('insert is being called')
            if (err) {
                console.log(err.message);
                return;
            }            
            console.log(body);
        });

    }
};

所以pl

> var nano = require('nano')('http://localhost:5984')
undefined
> var usersdb = nano.db.destroy('_users')
undefined
> var usersdb = nano.db.create('_users')
undefined
> var profile = require('./UserProfile.js')
undefined
> profile.addUser('cheese', 'flubber', 'goat')
undefined
> insert is being called
> OS process timed out.

运行此之后,我希望在/_users/cheese上看到一个条目,但不存在任何条目。我做错了什么吗?

答案

当你创建一个用户时,_id必须是这样的:org.couchdb.user:name

在您的情况下,您创建一个具有不同名称的用户奶酪。

此外,您可能想要检查错误回调。应从Couch返回错误消息。

Also

删除并创建数据库时,必须使用回调。

创建_users时,即使尚未确认创建_users数据库,也直接创建用户。

以上是关于插入couchdb数据库后找不到/缺少文档的主要内容,如果未能解决你的问题,请参考以下文章

CouchDB 文档建模原则

文档保存后找不到了误以为丢失,重做!

删除 CouchDB 中的过期文档

CouchDB reduce 函数给出了意想不到的结果

新的组装电脑组装好后找不到启动硬盘怎么办?

关于用maven创建的springboot工程打包jar后找不到配置文件的问题