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);
});
});
});
我认为这与内置于沙发核心的临时视图功能不太合适。
我知道临时观点警告,但我相信我有一个真实的使用案例。
答案 0 :(得分:1)
打开蒲团,看看它对couchDB api的作用是什么?
编辑:去了以上
Futon发帖到SVRNAME / DBNAME / _temp_view?limit = 11& descending = true 请求有效载荷{语言:“javascript”map:function(doc){emit(null,doc.id);} 并且您必须以管理员身份登录。
希望有所帮助
答案 1 :(得分:1)
临时视图API在官方CouchDB文档中有所描述:http://docs.couchdb.org/en/latest/api/database/temp-views.html#post--db-_temp_view
答案 2 :(得分:0)
我认为你可以通过Nano使用nano.request()(或nano.dinosaur())来做到这一点。 https://github.com/dscape/nano#nanorequestopts-callback