Javascript Node.JS:MongoDB update回调返回带有函数代码的结果
我有一个脚本更新MongoDB集合,并将错误和结果对象记录在其回调函数中。除了结果对象包含一长段代码(我不知道如何去除)之外,其他所有对象都可以正常工作。我使用的是2.0.46版 代码段:Javascript Node.JS:MongoDB update回调返回带有函数代码的结果,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我有一个脚本更新MongoDB集合,并将错误和结果对象记录在其回调函数中。除了结果对象包含一长段代码(我不知道如何去除)之外,其他所有对象都可以正常工作。我使用的是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]), e
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);
}
您在上面的日志条目中看到的函数只是一小部分。实际的“关闭函数””有上万行,因此它可以快速填充我的日志文件
我使用的记录器是
我想知道我做错了什么导致了这样的回报?任何建议都将不胜感激 这不是mongodb或本机mongodb驱动程序的问题 MongoDB结果包含关于数据库和行的其他详细信息,因此您将在控制台中接收该方法 您需要通过访问result object中可用的对象来记录所需的信息,即result.ok、result.n、result.nModified 像下面这样
winston.info(result.ok, result.n, result.nModified);
将结果记录到控制台并查看结果。我很好奇这是mongodb问题还是logger问题。不,它与日志文件相同。我用温斯顿来记录。我认为这是MongoDB的事情,因为如果Mongo不返回这样的内容,logger就不会添加额外的内容。这是MongoDB的响应……如果在MongoShell中更新,你会发现这个响应也是Sosubham的,我知道它来自MongoDB,但我不同意它来自MongoShell。对于什么你需要一个数以万计的JS代码行的响应?