我在ubuntu服务器上使用MongoDB。 我想生成我的文档并将它们存储在一个数组中。之后,我想将这些文档插入到我的集合中,但不知何故,集合总是空的。重要的是,数据生成与存储分离以进行测量。我正在使用javascript。 但是,这是一些代码:
for (i=0; i<amount; i++)
{
doc = "datetime:" + Math.floor((1262300400+Math.random()%(1356994799-1262300400+1))) + sourceport: " + Math.floor((Math.random()*30000)+2000) ;
myarray[i]=doc;
}
...
for (n=0;n<=myarray.length-1;n++)
{
obj_doc = eval('{' + myarray[n] +'}');
eval('var obj='+myarray[n]);
obj_doc = '{' + myarray[n] +'}';
db.mycol.insert(obj_doc);
}
如果没有rnd()函数,它甚至无法工作。 db.mycol.stats()始终返回“count:0”
答案 0 :(得分:1)
构建要作为对象插入的文档,而不是字符串和eval
:
for (i=0; i<amount; i++) {
doc = {
datetime: Math.floor((1262300400+Math.random()%(1356994799-1262300400+1))),
sourceport: Math.floor((Math.random()*30000)+2000)
};
myarray[i]=doc;
}
...
db.mycol.insert(myarray);