原始檔案的影像
我有帶有集合“測驗”的資料庫“測驗”。在那個集合中,我有一個名為“方法”的陣列的檔案,其中包含物件 0(可能還有更多的物件 1、2、3、4...)。在這些物件中,我有帶有工具“xray”的字串欄位“工具”。我希望該字串欄位“工具”成為工具陣列。我找到了將工具列位更改為陣列的命令:
db.testing.update(
{},
[{ $set: { "methods.tool": ["$methods.tool"] } }],
{ multi: true }
)
這有效,但它創建了一個額外的陣列“0:Array”,我不想要那個
結果
我希望最終結果是這樣的: 最終結果
uj5u.com熱心網友回復:
詢問
$map更新方法的所有檔案成員$$this每次都是當前成員$mergeObjects用于添加更新的欄位,分別tool:xray變為tool : [xray]
*paths 該欄位是陣列的一部分,它們也是陣列,“$methods.tool”是所有方法中所有工具的陣列。
測驗代碼在這里
update(
{},
[{"$set":
{"methods":
{"$map":
{"input": "$methods",
"in": {"$mergeObjects": ["$$this", {"tool": ["$$this.tool"]}]}}}}}],
{"multi": true})
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/371143.html
