我创建了一个数据工厂,以使用存储在Blob中的数据作为csv文件更新我现有的Cosmos DB。 csv文件包含两个字段“ X”和“ Y”及其值。 我想在我现有的Cosmos Db中插入新的键作为Y,过滤条件是唯一的X列
我已经创建了管道,并在cosmosdb中添加了文档。 但是在当前的管道中,旧数据将被删除,仅Y列将被插入。
宇宙db中当前文档中的数据
{
"_id" : ObjectId("5dad5adbfa882146ea8e7a0e"),
"x" : "UUID",
"old_key" : true
}
csv文件中的数据
x,new_key
UUID, "new_value"
预期产量
{
"_id" : ObjectId("5dad5adbfa882146ea8e7a0e"),
"x" : "UUID",
"old_key" : true,
"new_key":"new_value"
}
我尝试的输出(删除了旧键)
{
"_id" : ObjectId("5dad5adbfa882146ea8e7a0e"),
"x" : "UUID"
"new_key":"new_value"
}
答案 0 :(得分:0)
您要为cosmos数据库实施增量更新或部分更新。
{
"_id" : ObjectId("5dad5adbfa882146ea8e7a0e"),
"x" : "UUID",
"old_key" : true
}
更改为:
{
"_id" : ObjectId("5dad5adbfa882146ea8e7a0e"),
"x" : "UUID",
"old_key" : true,
"new_key":"new_value"
}
据我所知,到目前为止,cosmos数据库中尚不支持部分更新。请参阅此user voice和此feature statement(我知道此功能缺乏已持续了很长时间...。)。因此,您必须包含"_id"
之外的新文档中的所有属性。
我做了一个简单的测试:
1。将csv文件加载到cosmos db中:
_id,x,A
5daeb1eda34d640184a71d47,123,ValueA
2。将新的csv文件加载到cosmos db中:
_id,x,B
5daeb1eda34d640184a71d47,123,ValueBBB
3。打印两个输出: