Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb toarray函数不在块外更新_Mongodb_Collections_Toarray - Fatal编程技术网

Mongodb toarray函数不在块外更新

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++)

我尝试从另一个集合更改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++)
            {
                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。