MongoDB:将多个数值连接到字符串

Ale*_*Dim 6 mongoose mongodb mongodb-query aggregation-framework

我有一个文档(在聚合内部,在$group阶段之后),其中有一个带有值的对象(但如果需要的话,我可以形成数组)number

MongoPlayground 示例,其中包含数据和我的聚合查询。

我想_id在下一$project阶段创建一个新字段,由这三个number值组成,例如:

   item_id | unix time | pointer
_id: 453435-41464556645@1829
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试使用 时$concat,查询返回一个错误,例如:

$concat only supports strings, not int
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:有可能取得这样的结果吗?我已经看到相关问题MongoDB concatenate strings from Two fields into a Third field,但它没有涵盖我的情况。

tur*_*hal 9

$ concat只连接字符串,这些字段$_id.item_id包含 int 值和$_id.last_modifieddouble 值,

$ toString将值转换为字符串,

_id: {
  $concat: [
    {
      $toString: "$_id.item_id"
    },
    " - ",
    {
      $toString: "$_id.last_modified"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

游乐场:https://mongoplayground.net/p/SSlXW4gIs_X