例如我的数据是{'abc':'def'},它有一个键值;
我要这个:
do something...//data has been changed to {'abc':'defghi'} or {'abc':'['def','ghi']'}
我在nodejs中使用了这段代码:
var tmp2 = {'userid:location:2013-01-02 15':['092030', '12122.11260E']};
collection.insert(tmp2, {safe:true}, function (err, result) {
var i = 0;
var a = +new Date();
while(i<300000){
tmp2['userid:location:2013-01-02 15'].push(i);
collection.save(tmp2, function () { })
i+=1;
}
var b = +new Date();
console.log(b-a)
});
保存 api 可以替换相同键的值,所以使用推送,我可以将数据附加到现有键的值;
但是有一些问题:
- 推送操作性能很差。单次保存可以运行15000/s,但是使用推送时是1500/s。
- 如果我有两个客户端,都想追加数据,后面的将覆盖前面的数据,而不是追加。这个问题怎么解决?有API吗?</li>