mongodb将值推送到数组变量中

时间:2016-07-14 07:26:58

标签: javascript arrays mongodb

我正在编写一个清理函数,它将从集合中删除所有无效的文档。为此,我有一个想法是将无效的_id值推送到数组变量并使用$ in删除。

type: "POST",
            async: true,
            url: "index.php?option=com_ajax&plugin=ajax&format=json",
            dataType: "json",

将所有值推送到err Array之后,我有一个脚本来删除匹配的文档。但是,代码中缺少某些内容会导致function(scan){ var err for(var n=1;n<scan;n++){ var doc = db.zeroDimFacts.findOne({_id:n}) ,nKeys =0; for(k in doc) nKeys++ if(nKeys <5) err = n.toArray() } 出错。  
有人可以帮我纠正代码吗?

2 个答案:

答案 0 :(得分:1)

您可以使用findByIdAndRemove({criteria}),根据返回值,您可以拥有逻辑。

答案 1 :(得分:1)

function(scan) {
    var doc;
    var nKeys;
    var err = [];

    for(var n = 1; n < scan; ++ n) {
        doc = db.zeroDimFacts.findOne({_id: n})
        nKeys = 0;

        for(k in doc) {
            ++ nKeys;
        }
        if(nKeys < 5) {
            err.push(n);
        }
    }
    return err;
};

注意findOne()调用。当它返回null时,n将进入对我来说似乎不受欢迎的数组。