【问题标题】:String concatenation mongodb in array [duplicate]数组中的字符串连接mongodb [重复]
【发布时间】:2018-05-14 16:39:11
【问题描述】:

我正在尝试将数组元素转换为文档中的新行,但我总是得到空值这就是我现在所拥有的。

{
"_id" : ObjectId("5af9a044db06595c4a3c60d3"),
"word" : [ 
    "1501143005", 
    "41D44F7F-D5B3-4f3f-85AC-1E122DA8C506", 
    "4100", 
    "7493"
]}

这就是我想要得到的东西

{
"_id" : ObjectId("5af9a044db06595c4a3c60d3"),
"newId" : "1501143005-4100",
"oldId" : "7493-4100"}   

到目前为止我已经来到了下一个建筑

db.getCollection('buffer2').aggregate([

    { 
       $project:{
          word:{
              "$map":{
                  "input": "$word", "as" : "u",
                  "in":{
            newId: { $concat: [ "$$u.0", "-", "$$u.2" ] },
            oldId: { $concat: [ "$$u.3", "-", "$$u.2" ] } 
           }
           }
       }}
       }]);

我会很感激你的帮助

【问题讨论】:

    标签: javascript arrays mongodb


    【解决方案1】:

    您可以使用$concat$arrayElemAt 而不是$map

    db.collection.aggregate([
      {
        $project: {
          newId: {
            $concat: [
              {
                $arrayElemAt: [
                  "$word",
                  0
                ]
              },
              "-",
              {
                $arrayElemAt: [
                  "$word",
                  2
                ]
              }
            ],
    
          },
          oldId: {
            $concat: [
              {
                $arrayElemAt: [
                  "$word",
                  3
                ]
              },
              "-",
              {
                $arrayElemAt: [
                  "$word",
                  2
                ]
              }
            ],
    
          }
        }
      }
    ])
    

    输出

    {
      "_id" : ObjectId("5af9a044db06595c4a3c60d3"),
      "newId" : "1501143005-4100",
      "oldId" : "7493-4100"
    }   
    

    see the result here

    【讨论】:

    • 谢谢,可以了
    猜你喜欢
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 2018-03-06
    • 2015-11-26
    • 2011-04-08
    • 1970-01-01
    相关资源
    最近更新 更多