我正在為朋友制作數字圣誕卡倫達。每天他都可以領取一款 Steam 游戲。
因此,在我為他創建的用戶帳戶中的 mongodb 中,有一個稱為代碼(物件)的鍵。結構如下:
_id: blbalbalba
codes: {
1 : {
title: GTA V,
code: AISHD-SDAH-HAUd,
claimed_at: ,
},
2 : {
title: Fortnite,
code: HHF7-d88a-88fa,
claimed_at: ,
}
}
只是示例資料。現在在客戶端應用程式中,當按下/打開按鈕(門)7 時,我想將當前日期插入到鍵名為“7”的物件中的鍵“claimed_at”中。
我嘗試了一些變體:
const result = await PrivateUserData.updateOne(
{ id: myID },
{ $set: { "codes.`${door_number}`.date_claimed" : date,
}
}
);
但這不起作用。有效的是:"codes.5.date_claimed"。所以是靜態路徑。在這種情況下,名稱為 5 的物件的 date_claimed 密鑰已更新。但是如何使用帶有變數而不是數字的動態路徑?
提前致謝!
uj5u.com熱心網友回復:
如果您在呼叫查詢之前知道變數值,我認為下面兩個都可以作業。
var door_number=5;
var date= new Date("...");
const result = await PrivateUserData.updateOne(
{ id: myID },
{ $set : { ["codes." door_number ".date_claimed"] : date}}
);
var door_number=5;
var date= new Date("...");
const result = await PrivateUserData.updateOne(
{ id: myID },
{ $set : { [`codes.${door_number}.date_claimed`] : date}}
);
如果動態行為基于資料庫上的資訊,請發送您是否可以采樣資料和預期輸出,以便我們知道您需要什么。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/362982.html
標籤:javascript MongoDB mongodb-realm
上一篇:使用nodejs和mongodb從集合中獲取多個檔案
下一篇:洗掉mongoldb聚合中的檔案
