我覺得這沒有捷徑,但仍然想檢查。結合獲取查詢和插入查詢
說,我有一個集合,看起來像這樣
[{
userName: "Mr. A"
income: 100
expense: null
finalBalance: 200
timestamp: Date.now()
}]
*如果我們有收入金額,費用將是空的,反之亦然 最終餘額=(收入之和) - (費用之和) 堆棧:mongodB + node.js
基本上需要知道在集合中插入新對象的最短和最佳方式,這涉及到每次計算新的「finalBalance」。
curretly我所做的是每次我必須插入一個新的事務,如上圖所示。 我使用「timestamp」和「userName」獲取該用戶的最後一次轉換,然後添加或減去收入或費用金額,並創建新對象並插入。
例如:
的用戶最後一次交易:
{
userName: "Mr. A"
income: 100
expense: null
finalBalance: 200
timestamp: Date.now()
}
需要用戶插入新的交易,詳情
({userName: "Mr. A", expense: 10})
第1步:(從DB獲得)獲取最後從DB獲得最後的「finalBalance」用戶交易。
步驟2:將來自 「finalBalance」。減去了 「費用」 量以獲得新的 「finalBalance」,這將是(200 - 10 = 190)
步驟3:(在DB插入)使刀片
{
userName: "Mr. A"
income: null
expense: 10
finalBalance: 190
timestamp: Date.now()
}
有沒有一種方法可以計算新的「finalBalance」並用一個數據庫調用插入新的對象?
如果解決方案是mongo.js
嗨感謝您的建議,我會嘗試一下。但這不適用於我的情況。由於我需要一個單一的查詢完整的東西,沒有提到的問題,但我會做插入許多使用該查詢,因爲我有一個數組或插入這樣的交易。但是,如果這種查詢不能寫出來,我可以使用你的建議。 –