MongoError:尝试写入外部缓冲区边界

J.D*_*.D. 8 mongodb node.js mongodb-query

我有一个简单的node.js代码,它试图获取对象,填充该字段,然后更新同一个对象:

var MongoClient = require('mongodb').MongoClient
, Db = require('mongodb').Db
, Server = require('mongodb').Server
, ObjectID = require('mongodb').ObjectID;

var db = new Db('testing', new Server('localhost', 27017));
db.open(function(err, db){
   var Users = db.collection('users');
   Users.find({code  : {$exists : false} }, {email : 1}, function(err,      users){
   users.forEach(function(user){
       var code = generateCode();
       var userID  = user._id;
       Users.update({ _id :  user._id  }, {$set : {code : code } }, function(err, results){
        if (err) console.log(err);
        else console.log(results);
       });

   });
});
Run Code Online (Sandbox Code Playgroud)

当我尝试更新mongo时抛出:

MongoError: attempt to write outside buffer bounds. 
Run Code Online (Sandbox Code Playgroud)

有人可以解释我做错了什么吗?

vin*_*eet 1

当尝试保存/更新包含大量信息/非法类型信息的文档时,通常会发生此错误。

在 mongodb 中,最大 BSON 文档大小为 16 MB。这是更多详细信息的链接。