gpt4 book ai didi

mongodb - 无法使用 $toString 将数字转换为字符串

转载 作者:可可西里 更新时间:2023-11-01 10:46:23 27 4
gpt4 key购买 nike

我正在研究 MongoDB(版本 4.0.0)聚合功能,但我无法使简单的 $toString 正常工作。当我删除 $toString 运算符时,我得到以下输出:

{ "_id" : ObjectId("5b4fa13c0ec5e844757333d5"), "payment_date" : 20180621, "payment_date_formatted" : 20180721 }
{ "_id" : ObjectId("5b4fa13c0ec5e844757333d7"), "payment_date" : 20180626, "payment_date_formatted" : 20180726 }

但是当我尝试转换字段 payment_date_formatted 时,一切都出错了,输出是:

{ "_id" : ObjectId("5b4fa13c0ec5e844757333d5"), "payment_date" : 20180621, "payment_date_formatted" : "2.01807e+07" }
{ "_id" : ObjectId("5b4fa13c0ec5e844757333d7"), "payment_date" : 20180626, "payment_date_formatted" : "2.01807e+07" }

为什么会这样?这是聚合调用:

db.payment_orders.aggregate([
{
"$match": {
"company": ObjectId("5b368de558b52c13789edddd"),
"payment_date": {
"$gte": 20170601
}
}
},
{
"$addFields": {
"payment_date_formatted": {
"$add": [
"$payment_date",
100
]
}
}
},
{
"$project": {
"payment_date": 1,
"payment_date_formatted": {$toString: "$payment_date_formatted"}
}
}
]);

最佳答案

您需要使用 $toLong$toString同时在这里聚合

db.payment_orders.aggregate([
{
"$project": {
"payment_date": { "$toLong": "$payment_date" },
"payment_date_formatted": {
"$toString": { "$toLong": "$payment_date_formatted" }
}
}
}
])

可以试试here

关于mongodb - 无法使用 $toString 将数字转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51461093/

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