当前位置: 首页 > 知识库问答 >
问题:

Azure Cosmos-db重命名文档属性

翟聪
2023-03-14

我有非常大的 cosmos-db 集合,我想重命名这个集合的一些属性,我发现我可以实现 C# 应用程序,它在集合文档上循环,并替换它们每个文档的文档,但是根据集合大小,这个解决方案将花费很长时间。Azure 门户上是否有任何其他解决方案(函数或存储过程)或 SDK,它们将以更少的时间为我们提供相同的功能

例子:

旧文档{代码,CName,CAddress }

我想将属性重命名为{CustomerCode、CustomerName、CustomerAddress}

共有1个答案

董和风
2023-03-14

正如您在问题中提到的,您可以使用存储过程来执行此操作。您可以按照此处的示例代码执行

  function rename(document, update) {
        var fields, i, existingFieldName, newFieldName;

        if (update.$rename) {
            fields = Object.keys(update.$rename);
            for (i = 0; i < fields.length; i++) {
                existingFieldName = fields[i];
                newFieldName = update.$rename[fields[i]];

                if (existingFieldName == newFieldName) {
                    throw new Error("Bad $rename parameter: The new field name must differ from the existing field name.")
                } else if (document[existingFieldName]) {
                    // If the field exists, set/overwrite the new field name and unset the existing field name.
                    document[newFieldName] = document[existingFieldName];
                    delete document[existingFieldName];
                } else {
                    // Otherwise this is a noop.
                }
            }
        }
    }
 类似资料:
  • 问题内容: 我有一个表示JSON的字符串,我想使用JSON.NET重命名某些属性。我需要用于任何JSON的通用函数。就像是: 怎么做?? 问题答案: 我建议您使用重命名的属性来重构您的JSON。我认为您不必担心速度惩罚,因为通常这不是问题。这是您的操作方法。 这是用法示例:

  • 文件重命名 文件重命名 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * *//* * 程序清单:更改名称 * * 程序会创建一个操作文件的函数并导出到msh命令列表 * 在

  • 如何从Cosmos DB中删除单个记录? 我可以使用SQL语法进行选择: 果然,所有文档(类似于行?)都返回了 然而,当我试图删除时,这不起作用 我如何实现这一点?

  • 我很难实现正确的云Firestore文档命名。 我有一个拥有5000多张照片的网络存储服务器。照片命名为1.jpg- 示例:该应用程序将显示来自服务器的随机照片(例如123.jpg)。用户将能够对该照片发表评论并回复其他评论。 目前唯一有效的方法是这样命名文档:“photo_1”- 不要使用单调增加的文档ID,例如:•客户1、客户2、客户3、…•产品1、产品2、产品3…这样的顺序ID可能会导致影响

  • 我一直在使用PDF文件中的命名目标来打开文件中特定位置的PDF文件。负责生成PDF文档的团队使用工具从图书标记自动生成命名目的地,因此命名目的地的名称往往类似于*9\u Glossary*或*Additional\u Information*。我们被要求用多种语言制作相同的文档。我预计我们将收到多种外语的PDF文档,在相同的位置带有书签,但图书标记的名称当然将使用这些其他语言,自动生成的命名目的地

  • 问题内容: 我想批量重命名目录中的多个文件,以便从文件名中删除前面的数字和连字符。 如何使用linux命令执行此操作? 问题答案: 这应该使它: 它从块的开头(即数字)开始多次,然后连字符并将其从文件名中删除。 如果不在您的计算机中,则可以使用循环和: 测试 要么: