gpt4 book ai didi

javascript - CouchDB 文档映射修改

转载 作者:行者123 更新时间:2023-11-30 12:44:35 26 4
gpt4 key购买 nike

我是 CouchDd 的新手,所以我可能遗漏了文档中的某些内容。

我想创建一个映射函数,它将放置在 doc 的成员上。注意:我不想只更改返回结果的存储文档。

我创建了这张 map 。

function(doc) {
for(i = 0; i < doc.Videos.length; i++)
{
delete doc.Videos[i].VideoFrames;
}
emit(doc.DeviceId, doc);
}
  • doc.Videos 是一个数组
  • Videos 的每个元素都有一个成员 VideoFrames。

我想从 CouchDb 返回的文档中删除 VideoFrames。

当我运行此 map 时,VideoFrames 仍在返回的文档中。我在 JSFiddle 中使用示例数据运行了这张 map ,它按我预期的方式工作,但是,在 couchDB 中却并非如此。

示例文档

{
"_id": "2e06de647c59fc94524c2f90b7001157",
"_rev": "1-cb05705a122918c2c53dfb1e01ebed02",
"TimeStamp": 1397343510,
"DeviceId": "74a5f7aa9d4dfd0d",
"Videos": [
{
"TimeStamp": 1397343518798,
"VideoFrames": [
{
"TimeStamp": 1397343519515,
"JPEG_Base64Frame": "iVBORw0KGgoAAAANSUh...==\n"
}
]
}
],
"GeoLocations": [
{
"TimeStamp": 1397343512,
"Latitude": 41.5654724,
"Longitude": -87.5268132
}
]
}

最佳答案

CouchDB 密封 doc 对象以防止对其进行任何修改,因为它已通过 View 索引更新时来自同一设计文档的所有映射函数。如果你想修改它并发出结果,你应该先制作他的副本并修改该副本而不是原始 doc 对象。

关于javascript - CouchDB 文档映射修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23044026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com