我正在使用MongoDB數據庫作爲臨時表的一些導入操作。我想在數據永久保存到我們的SQL數據庫之前對數據執行存儲過程。這依賴於使用Mongo內的映射來替換int域中的4個字符。MongoDB選擇內部更新查詢
我不太知道如何在蒙戈做到這一點,但如果這些表是SQL裏面的查詢會是這個樣子:
UPDATE data SET number =
IF LEN(number) >= 4 BEGIN
CONCAT(SUBSTRING(number, 1, (LEN(number)-4)), (SELECT replacement FROM mapping WHERE original=SUBSTRING(number, (LEN(number)-4), 4))
END ELSE number
含義,如果數字是4位數以上,更換在映射表中替換的最後4位數字,否則什麼都不做。
任何人都可以幫我翻譯成一個MongoDB查詢(我使用C#的情況下是相關的)?我現在真的迷路了。
我想,你會寫'LEN(數字) - 4',而不是' LEN(number - 4)'在查詢內部。 – Shad
而第二個'SUBSTRING'調用不帶任何字符串參數。 – Shad
是的,你是對的,解決了這些問題。 – SomeoneRandom