Py学习  »  MongoDB

MongoDB如何在FindOnAndUpDate之后不返回文档

Thomas Kim • 5 年前 • 1536 次点击  

我正在寻找许多不同的方法,可以帮助节省带宽和数据。在我的节点js后端。我发现MongoDB更新操作后返回的数据根本没有使用。所以我决定不给用户回电话来节省带宽。 res.status(200).json();

但我想起来了,MongoDB实际上是在更新操作之后把数据/文档传递回来的。因此,即使我选择不向用户返回任何数据。仍然会有数据发送回我的节点js后端。换句话说,这可能会给我托管数据库增加一些额外的不必要的成本。

如何让findOneAndUpdate或任何更新操作不返回数据。或者你有什么节省成本的技巧和窍门吗?:)

我的findonandupdate代码示例

feedbacks.findOneAndUpdate({
    '_id': feedbackId
}, {
    'status': status
}, (err, result) => {
    if (err) {
        console.log(chalk.red(err));
        res.status(500).json(err);
    }
    console.log(chalk.green('UPDATE: (Super Admin) Feedback status'));
    res.status(200).json();
});
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49983
 
1536 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Thomas Kim
Reply   •   1 楼
Thomas Kim    5 年前

更新,所以不确定限制返回字段是否会节省成本,但我会选择最小的一个。非常感谢你的回答。我将在这里为其他人列出比较结果作为注释。感谢@Anthony Winzlet和@Florian Schlag感谢您抽出时间:)

一。方法: updateOne

返回字段:

{"n":1,"nModified":1,"opTime":{"ts":"xxxxxxxxxxxxxxxxxxx","t":14},"electionId":"xxxxxxxxxxxxxxxxxxx","ok":1,"operationTime":"xxxxxxxxxxxxxxxxxxx","$clusterTime":{"clusterTime":"xxxxxxxxxxxxxxxxxxx","signature":{"hash":"xxxxxxxxxxxxxxxxxxx","keyId":"xxxxxxxxxxxxxxxxxxx"}}}

字节大小:286

2。方法:添加 projection 在里面 findOneAndUpdate 并且只返回 _id

返回字段:

{"_id":"xxxxxxxxxxxxxxxxxxxxxxxx"}

字节大小:34