1

Nano不提供临时视图的文档,是否有任何未记录的方法?如果做不到这一点,您将如何建议某人使用类似 nano 的语法执行临时视图。目前我正在尝试将视图创建为 _view/guid,对其进行查询,返回结果,然后将其从集合中删除:

function generateToken() {
    return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
}
var db = nano.use('db'),
    fn = 'function(doc){ emit(doc); }',
    token = generateToken(),
    id = '_design/' + token;
db.insert({ views: { view: { map: fn } } }, id, function(){
    db.view(token, 'view', function (err, results) {
        db.get(id, function (err, view) {
            console.log(results);
            db.destroy(id, view._rev);
        });
    });
});

我认为这对于沙发核心内置的临时视图功能来说是不理想的。

我知道临时视图警告,但我相信我有一个真正的用例。

4

3 回答 3

1

打开蒲团,看看它对 couchDB api 的调用是什么?

编辑:去做了上面

Futon 向 SVRNAME/DBNAME/_temp_view?limit=11&descending=true request payload {language: "javascript" map: function(doc) { emit(null, doc.id);} 发帖,您必须以管理员身份登录.

希望有帮助

于 2014-01-22T13:49:50.210 回答
1

临时视图 API 在官方 CouchDB 文档中进行了描述:http: //docs.couchdb.org/en/latest/api/database/temp-views.html#post--db-_temp_view

于 2014-01-22T14:12:41.647 回答
0

我认为你可以通过 Nano 使用 nano.request()(或 nano.dinosaur())来做到这一点。 https://github.com/dscape/nano#nanorequestopts-callback

于 2016-03-15T23:50:43.113 回答