相关疑难解决方法(0)

javascript for循环中的异步进程

我正在运行以下形式的事件循环:

var i;
var j = 10;
for (i = 0; i < j; i++) {

    asynchronousProcess(callbackFunction() {
        alert(i);
    });
}
Run Code Online (Sandbox Code Playgroud)

我试图显示一系列显示数字0到10的警报.问题是,当回调函数被触发时,循环已经经历了几次迭代并且它显示了更高的值i.有关如何解决此问题的任何建议?

javascript synchronization asynchronous for-loop

107
推荐指数
3
解决办法
9万
查看次数

聚合匹配管道不等于MongoDB

我正在为MongoDB的聚合管道工作,我正在尝试检索用户不等于变量的项目.

出于某种原因,我无法使其发挥作用.我尝试使用$not,$ne$nin以不同的方式但不能使它工作.

这是它的样子:

数据样本:

[{
    "_id": { "$oid": "565674e2e4b030fba33d8fdc" },
    "user": { "$oid": "565674832b85ce78732b7529" }
}, {
    "_id": { "$oid": "565674e2e4b030fba33d8fdc" },
    "user": { "$oid": "565674832b85ce78732b7529" }
}, {
    "_id": { "$oid": "565674e2e4b030fba33d8fdc" },
    "user": { "$oid": "56f9dfc5cc03ec883f7675d0" }
}]
Run Code Online (Sandbox Code Playgroud)

管道样本(针对此问题进行了简化):

哪里 req.query.user.id = "565674832b85ce78732b7529"

collection.aggregate([
    {
        $match: {
            user: {
                $nin: [ req.query.user.id ],
            }
        }
    }
]
Run Code Online (Sandbox Code Playgroud)

这应该只返回最后一项.

您是否知道如何检索与用户不匹配的数据?

谢谢

编辑: 以下不起作用:

collection.aggregate([
    {
        $match: {
            'user.$oid': {
                $nin: [ req.query.user.id ], …
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js sails.js waterline

6
推荐指数
1
解决办法
4223
查看次数