簡體   English   中英

MongoDB findOneAndUpdate 投影

[英]MongoDB findOneAndUpdate projection

我目前正在使用 MongoDB 並使用findOneAndUpdate方法。 我正在嘗試使用投影,但它似乎沒有 100% 成功。

這是投影:

{
  orderID: '$_id',
  _id: false,
  user: true,
  guild: true,
  order: true,
  status: true,
  orderExpiry: true,
  priority: true,
  sentAt: true
}

如您所見,我正在嘗試將orderID設置為_id的值,但是它沒有做任何事情。

這是我正在執行的代碼以供參考:

await this.db.collection('orders').findOneAndUpdate(filter, { $set: { ...data } },
                  { returnOriginal: false, projection: this.getProjectionFields() });

希望有人能幫幫我,謝謝!

據我所知,使用.find()或類似的.findOneAndUpdate()投影不支持聚合中的$project能夠執行的字段轉換(從現有字段中添加新字段)。 因此,投影可以僅用於在結果中包含或排除某些字段。 雖然這是真的,但在某種程度上這是錯誤的,我們可以使用投影運算符 Check : projection轉換數組字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM