Mongodb toarray函数不在块外更新
我尝试从另一个集合更改mongodb中的用户数组。 代码如下:Mongodb toarray函数不在块外更新,mongodb,collections,toarray,Mongodb,Collections,Toarray,我尝试从另一个集合更改mongodb中的用户数组。 代码如下: phrases.find({albumID: tileid}).toArray(function(err, results) { if (results.length > 0) { for(var j = 0; j < results.length; j++) { for(var z = 0; z < o.Phrases.length; z++)
phrases.find({albumID: tileid}).toArray(function(err, results) {
if (results.length > 0) {
for(var j = 0; j < results.length; j++)
{
for(var z = 0; z < o.Phrases.length; z++)
{
if(o.Phrases[z].id == results[j]._id)
{
o.Phrases.splice(z,1);
break;
}
}
}
}
});
console.log(o.Phrases);
.
.
.
after update the collection
phrases.find({albumID:tileid}).toArray(函数(err,results){
如果(results.length>0){
对于(var j=0;j
当我做日志时,我看不到正在进行更改。
如果我在toArray块中记录日志,我会看到更改。
我读了很多书,并没有发现唯一的解决方案,toArray是异步函数,而不是如何更改或使用它。
也许还有另一种方法可以将集合更改为数组。
感谢您的帮助。什么是
短语
和o.Phrases
?尝试在z循环中添加控制台日志,以输出o.Phrases[z].id
和结果[j]的值和类型。\u id
。我怀疑他们从来没有真正匹配过,可能是因为类型或字符串格式问题。Sry我没有说-o。短语是所有注册网站的用户的数组,我想更改数组。pharses是mongodb数据库中的所有短语。@Joe我检查了它的工作,当它们相等时,他返回true。