簡體   English   中英

我如何結合 $elemMatch 的結果並推入 MongoDb

[英]How can i combine a result from $elemMatch and push in MongoDb

我有個問題。

這是我的代碼:

我如何在我的貓鼬模式中構建聊天字段:

chats: [
    {
        id: Number
        messages: [{text: String}]
    }
]

有問題的代碼:

const u = await users.findByIdAndUpdate(req.user._id, {
    chats: {$elemMatch: {id: req.params.id}}
})

我想用我從 params 獲得的 id 找到一個聊天,然后我想推入 cat 我在消息字段中發現了一條新消息。 我不知道我該怎么做。

有人可以幫我嗎?

謝謝你❤。

您可以為此使用.$[<identifier>] 例如, {text: 'newMessages'}進入聊天 id: 23452

db.collection.update(
{},
{$push: {"chats.$[c].messages": {text: 'newMessages'}}},
{arrayFilters: [{"c.id": 23452}]}
)

看看它在操場上的例子是如何工作的

暫無
暫無

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

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