mongodb - MongoDB如何将所有文档的属性值从int转换为字符串?
问题描述
我对 MongoDB 很陌生,我有属性名称为“duns_number”的现有文档,其值当前为 Int32,如何将“duns_number”值转换为字符串?
这是我到目前为止所拥有的,但这不会将值转换为字符串。
db.getCollection('ds_masterlist').update({"duns_number": { $type: "int" }, { $set: {"duns_number": { $type: "string" }} }})
这个我也试过了
db.ds_masterlist.find( { 'duns_number' : { $type : "int" } } ).forEach( function (x) {
x.duns_number = new String(x.duns_number);
db.ds_masterlist.save(x);
});
但是它正在转换 duns_number 的每个数字
解决方案
我找到了解决方案,
db.ds_company_masterlist.find( { 'duns_number' : { $type : "int" } } ).forEach( function (x) {
x.duns_number= ""+x.duns_number; // convert field to string
db.ds_company_masterlist.save(x);
});
这解决了我的问题。
这也不适用于所有记录,
db.ds_masterlist.update(
{ },
[{ $set: { duns_number: { $toString: "$duns_number" } } }],
{ multi: true }
)
谢谢你
推荐阅读
- android - 通过独立的 .aar 文件将 Flutter 模块添加到原生 Android 应用程序
- sql - 从 sql 中选择随机行而不用分页复制记录
- android - Android命令行工具的问题
- ssis - 从 SSIS 包访问 netezza 的系统目录视图不起作用
- bash - Bash 脚本有条件地执行 while 循环
- python - 保存变形字段时的简单 ITK 问题:变形字段为空
- cakephp - 对某些字段的实例进行计数和分类
- mongodb - 如何仅为不包含字段的文档创建部分唯一索引?
- python - 在 replace() 中使用列表作为 1 个参数
- c++ - 关于右阵列旋转的杂耍算法