db.find将返回MongoDB格式的文档。
我想要获取文档的所有元素,然后更改为alist。
但是我还没有找到获取元素的函数。
我发现elements是文档中的hashmap,它有一个名为elements的访问器。
但是当我在自己的包中使用(elements docTmp)时,它返回没有名为elements的函数。
发布于 2014-01-16 17:17:34
我建议不要深入研究document的内部结构,而要使用提供的函数mapdoc。您还可以考虑使用递归解析将可能的子文档也转换为alists。因此,代码可能如下所示:
(defgeneric mongo-document->alist (doc))
(defmethod mongo-document->alist ((doc cl-mongo:document))
(let ((alist '()))
(cl-mongo:mapdoc (lambda (key value)
(push
(cons
key
(mongo-document->alist value))
alist))
doc)
alist))
(defmethod mongo-document->alist ((obj t))
obj)https://stackoverflow.com/questions/20402654
复制相似问题