如何在 couchdb 中列出文档中的数据类型

how to list data types from a document in couchdb

是否有机会在 couchdb 中列出文档的所有数据类型,如字符串、对象、整数?

我只在 Windows 机器上使用 curl。

CouchDB 使用 JSON,JSON 确实有一组有限的数据类型,在此处描述:http://json.org/

任何更高级别的数据类型,如 "DateTime" 等,都是格式问题,没有标准化。

如果您希望在客户端使用纯 CURL,您将需要创建一个设计文档来回答您的查询。设计文档将具有以下映射函数:

function(doc) {
    function obj_to_types( obj ){
        var types = {};
        Object.keys( obj ).forEach( function( k ) {
            var prop = obj[k];
            var type = typeof prop;
            var typeValue;
            if( type == "object" ){
                typeValue = obj_to_types( prop );
            }else{
                typeValue = type;
            }
            types[k] =typeValue;
        });
        return types;
    }
    emit(doc.id, obj_to_types( doc ));
}

这将为每个文档生成输出,例如:

{
_id: "string",
_rev: "string",
format: {
  0: "number",
  1: "number",
  2: "number"},
etc: "string"
}