我已在此代码中设置了mongoldb连接
event.preventDefault();
稍后在代码中,我将文档更新到以间隔重复的函数内的集合
client.connect(mongodbURL,function (err,db){
if(err) throw err;
collection=db.collection("accel1");
});
问题是它给出了错误
setInterval(create_doc,db_doc_interval);
function create_doc(){
console.log("writing to db");
collection.update( <...updates> );
}
这让我觉得某种方式集合没有被正确定义,或者没有被正确地传递给函数。任何帮助是极大的赞赏。谢谢
如果我把建立连接部分放在第二个函数中,则BTW代码工作正常。但是这会导致每次都建立一个新的连接并且是非常耗费资源的答案 0 :(得分:0)
此错误是由collection
变量未在client.connect
的回调函数中分配,在create_doc
函数中通过访问.update
函数调用之前引起的。将setInterval
函数移至client.connect(
的回调中,如下所示。
client.connect(mongodbURL,function (err,db){
if(err) throw err;
collection=db.collection("accel1");
setInterval(create_doc,db_doc_interval);
});