gpt4 book ai didi

mongodb - 添加普通字符串或整数

转载 作者:可可西里 更新时间:2023-11-01 09:57:54 25 4
gpt4 key购买 nike

总的来说,我有一个group-clause:

      {  $group: {
_id: { town_id: "$_id.town" },
houses_data: { $push:

{ house_id: "$_id.house_id",
price: {
$divide: ["$sum", "$total"]
}
}
}
}
}

像这样一切正常

但后来我尝试在 houses_data 中添加一个额外的字段 description:

    { house_id: "$_id.house_id",
price: {
$divide: ["$sum", "$total"]
},
description: "thats a house"
}

现在我得到一个错误:

FieldPath '2' doesn't start with $"

但是 Description 不是 Field。
我想将描述添加为静态字符串值。所以在每个 house_data 数组中,应该有相同的描述。

输出应该是这样的:

{town_id: 13, houses_data: [
{house_id: 5, price: 32, description: "thats a house"},
{house_id: 2, price: 12, description: "thats a house"}
]
}

我做错了什么?谢谢!

最佳答案

使用 $literal运算符,在您的 group 子句中,如:

{.. description: {$literal:"thats a house"} ..}

FieldPath '2' doesn't start with $

表示该值被解析为一个表达式$literal 运算符告诉 mongoDB - 不要将内容解析为 expression

Returns a value without parsing. Use for values that the aggregation pipeline may interpret as an expression.

注意:$group阶段运算符的语法如下:

{ $group: { _id: <expression>, 
<field1>: { <accumulator1> : <expression1> }, ... } }

$literal 不是 accumulators 之一并且不能代替累加器使用,但需要成为 expression 的一部分。

关于mongodb - 添加普通字符串或整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29978333/

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