IT討論區(169) - 小心搵工

硬心傳件師-菊花

1001 回覆
8 Like 0 Dislike
Moya 2022-08-05 19:38:21
唔係起樓但做過工程公司既p仔

惱惱羞 2022-08-05 19:42:41
驚驚,不過個head好老定話公司唔開六日
希望堅

ching會唔會落埋地盤到睇?
themedia 2022-08-05 20:03:27
aecom?
themedia 2022-08-05 20:09:42
update one 定 update many
themedia 2022-08-05 20:18:11
抽個document改再save
多一分鐘世界蒼茫 2022-08-05 20:31:23
themedia 2022-08-05 20:36:23
你select個document出嚟之後 .timeslot.staff 再 obj.save()
themedia 2022-08-05 20:38:50
why timeslot係list?
themedia 2022-08-05 20:41:35
nested object 你改obj入面個obj要object freeze or JSON.parse(JSOn.stringify(obj))

試下
themedia 2022-08-05 20:42:34
交俾你

lm學嘢
尼爾大叔 2022-08-05 21:11:02
https://mongoplayground.net/p/Td1QwxiMCJ2

db.collection.update({},
[
  {
    "$addFields": {
      "timeslot": {
        "$map": {
          "input": "$timeslot",
          "as": "ts",
          "in": {
            "$cond": {
              // criteria for element you want to update
              "if": {
                $eq: [
                  "$$ts.time",
                  "00:00"
                ]
              },
              "then": {
                "$mergeObjects": [
                  "$$ts",
                  // to-be version of staff
                  {
                    staff: [
                      "A",
                      "B"
                    ]
                  }
                ]
              },
              "else": "$$ts"
            }
          }
        }
      }
    }
  }
],
{
  multi: false
})


你個schema好複雜... 要用$map 去process個timeslot array再用$cond做conditional update... api syntax嗰d唔多講了, 自己查返doc, 有d問題想問:
1. 點解date store as string?唔store as proper date object?
2. 點解timeslot 唔flatten咗佢, 成個collection一個document就一個timeslot嘅array entry?
尼爾大叔 2022-08-05 21:17:16
成個array scan
暫時唔清楚層主係咪要喺array搵element update
可能攰睇漏requirement
基度山伯爵 2022-08-05 21:17:48
大大伏
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞