gpt4 book ai didi

javascript - Node.JS:MongoDB 更新回调返回带有函数代码的结果

转载 作者:可可西里 更新时间:2023-11-01 10:26:31 25 4
gpt4 key购买 nike

我有一个脚本更新 MongoDB 集合并在其回调函数中记录错误和结果对象。除了结果对象包含一大块代码之外,每个都工作正常,我不知道如何摆脱它。我正在使用 native MongoDB node.js driver , 版本 2.0.46。

代码片段:

var find = {_id:id}, set = {$set:{dt:now}}; 
myCollection.update(find, set, function(err, result) {
if(err) logger.error(JSON.stringify([find, set]), err.toString());
else logger.verbose(result);
})

当更新没有发生错误时,我会收到这组日志条目。

2015-10-29T03:45:13.253Z - verbose: ok=1, nModified=1, n=1, _bsontype=Timestamp, low_=17, high_=1446090311, _bsontype=ObjectID, id=V.ßÂb$#\¾¾«, domain=null, 
close=function g() {
this.removeListener(type, g);
if (!fired) {
fired = true;
listener.apply(this, arguments);
}

您在上面的日志条目中看到的功能只是一小部分。实际的“关闭函数”长达数万行,所以它很快就填满了我的日志文件。

我使用的记录器是 Winston .

我想知道我做错了什么导致这样的返回?任何建议表示赞赏。

最佳答案

这不是 mongodb 或 native mongodb 驱动程序问题。

MongoDB 结果包含有关数据库和行的其他详细信息,因此您在控制台中接收该方法。

您需要通过访问结果对象中可用的对象来记录您需要的信息,即 result.ok、result.n、result.nModified如下所示,

winston.info(result.ok, result.n, result.nModified);

关于javascript - Node.JS:MongoDB 更新回调返回带有函数代码的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33405742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com