将字段转换为另一种类型并批量更新整个 collection?
Converting a field to another type and updating the entire collection in Bulk?
在这里,在我的 collection 中,我将 "numerical" 和 "date" 字段另存为字符串,但我希望它们都是整数,我该如何做到这一点。这是我的 collection
{
"name": "Thyame",
"salary": "25000",
"dob": "1988-01-25"
}
预期输出为
{
"name": "Thyame",
"salary": 25000,
"dob": ISODate("1988-01-25T00:00:00.000Z")
}
您可以执行 MongoDB 聚合来更改数据类型并使用 $out
运算符覆盖整个集合。
试试这个:
db.collection.aggregate([
{
$project: {
name: "$name",
salary: {
$toInt: "$salary"
},
dob: {
$dateFromString: {
dateString: "$dob",
format: "%Y-%m-%d"
}
}
}
}
//,{$out:"collection"}
])
注意:如果取消注释$out
,它将覆盖所有具有聚合结果的记录。
在这里,在我的 collection 中,我将 "numerical" 和 "date" 字段另存为字符串,但我希望它们都是整数,我该如何做到这一点。这是我的 collection
{
"name": "Thyame",
"salary": "25000",
"dob": "1988-01-25"
}
预期输出为
{
"name": "Thyame",
"salary": 25000,
"dob": ISODate("1988-01-25T00:00:00.000Z")
}
您可以执行 MongoDB 聚合来更改数据类型并使用 $out
运算符覆盖整个集合。
试试这个:
db.collection.aggregate([
{
$project: {
name: "$name",
salary: {
$toInt: "$salary"
},
dob: {
$dateFromString: {
dateString: "$dob",
format: "%Y-%m-%d"
}
}
}
}
//,{$out:"collection"}
])
注意:如果取消注释$out
,它将覆盖所有具有聚合结果的记录。