doukui2011 2018-08-07 12:58
浏览 166
已采纳

聚合查询在golang中

I need to write a query in golang with mgo, here's the query in the mongo:

db.some.aggregate([
{$match: { "data.id": "11111" }},
    {$project: { 
            _id : 0,
            url : { $concat: [ "https://www.someurl.com/","$data.aID" ]},
       items :{
       "$map":{
                "input":"$data.items",
                "as":"it",
                "in":{
                  "item_title":"$$it.title",                             
                  "item_id":"$$it.id"
               }}}}])

I will be grateful if you will help in this problem.

// I apologize for the incorrectly posed question, in the future I will follow the instructions, my problem was with $concat

  • 写回答

1条回答 默认 最新

  • douxiong5438 2018-08-07 14:47
    关注

    The syntax here is tricky because it's similar to JSON but different enough to be confusing.

    In particular, note that arrays use curly brace delimiters []bson.M{...} and the $concat value is an array of strings []string{...}:

    query := []bson.M{ // NOTE: slice of bson.M here
      bson.M{
        "$match": bson.M{"data.id": "11111"},
      },
      bson.M{
        "$project": bson.M{
          "_id": 0,
          "url": bson.M{
            "$concat": []string{ // NOTE: slice of strings here
              "https://www.someurl.com/",
              "$data.aID",
            },
          },
          "items": bson.M{
            "$map": bson.M{
              "input": "$data.items",
              "as":    "it",
              "in":    bson.M{"item_title": "$$it.title", "item_id": "$$it.id"},
            },
          },
        },
      },
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵