Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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
Javascript 多个集合之间的MongoDb删除操作_Javascript_Mongodb - Fatal编程技术网

Javascript 多个集合之间的MongoDb删除操作

Javascript 多个集合之间的MongoDb删除操作,javascript,mongodb,Javascript,Mongodb,我试图创建一个简单的javascript程序,从mongoDb集合中删除未标记的图像 我有两个收藏名称相册和图像 每个集合中的数据将为每个集合约100万条记录 相册集合的样本数据类似于{“_id”:0,“图像”:[24332753298365101137512974]} images集合中的样本数据类似于{“\u id”:61782,“高度”:480,“宽度”:640,“标签”:[“猫”,“工作”]} 我创建了以下javascript代码,但出于某种原因,它给出了imageList.image是

我试图创建一个简单的javascript程序,从mongoDb集合中删除未标记的图像

  • 我有两个收藏名称
    相册
    图像
  • 每个集合中的数据将为每个集合约100万条记录
  • 相册
    集合的样本数据类似于
    {“_id”:0,“图像”:[24332753298365101137512974]}
  • images
    集合中的样本数据类似于
    {“\u id”:61782,“高度”:480,“宽度”:640,“标签”:[“猫”,“工作”]}
  • 我创建了以下javascript代码,但出于某种原因,它给出了
    imageList.image
    undefined
    错误

    var albumImages = db.albums.aggregate([{$unwind:"$images"},{$group:_id:null,image:{$addToSet:"$images"}}}]);
    var imageList = db.images.aggregate([{$group: {_id:null, image:{$addToSet:"$_id"}} }]);
    for(var i = 0; i < imageList.image.length; i++) {
        if(albumImages.image.indexOf(imageList.image[i]) < 0) {
            db.images.removeOne({_id:imageList.image[i]});
        }
    }
    
    var albumImages=db.albums.aggregate([{$unwind:$images},{$group:_id:null,image:{$addToSet:$images}}]);
    var imageList=db.images.aggregate([{$group:{{U id:null,image:{$addToSet:“$\U id”}}}}]);
    对于(var i=0;i
  • 在这里,我想删除图像中不属于任何相册的所有项目。
    提前感谢。

    如果imagelist包含图像,则将图像推送到新数组中,并在该数组上执行for循环。您的javascript代码似乎存在多个语法错误(例如,第一行中的
    $group:
    后面缺少大括号,例如,仅存在所需的$addToSet构造的一部分)-这真的是您正在运行的代码吗?