Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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
nodejs-mongodb-如何找到所有在哪里的a!=B_Mongodb_Node.js - Fatal编程技术网

nodejs-mongodb-如何找到所有在哪里的a!=B

nodejs-mongodb-如何找到所有在哪里的a!=B,mongodb,node.js,Mongodb,Node.js,这是收集会话 { "_id": "R65i3SmvucW9imK2cxA6wdFb.GXoSHjly7obzFNslklNCBvE0UrW/qOiNmiBtPN24/1c", "session": { "channel": "all", "username": "xuka" }, "expires": NumberLong("1307692520000") } { "_id": "zJYZj2jwxa5zN0uZcCZC26

这是收集会话

{
    "_id": "R65i3SmvucW9imK2cxA6wdFb.GXoSHjly7obzFNslklNCBvE0UrW/qOiNmiBtPN24/1c",
    "session": {
        "channel": "all",
        "username": "xuka"
    },
    "expires": NumberLong("1307692520000")
} {
    "_id": "zJYZj2jwxa5zN0uZcCZC26zp.Tpp8fVkqwKLZEpRWgq7/3DDTcDw9VSlskBum28gox+0",
    "session": {

        "channel": "3",
        "username": "hellos"
    },
    "expires": NumberLong("1307692826000")
}
我需要找到通道不等于3的记录,下面是我尝试过的

var k =3;
db.collection('sessions', function(err, collection){                        
    collection.find({channel:{'$ne':k}},function(err, cursor) {     
    });
});
问题:结果给出了通道=3的所有记录。这是错误的。

试试看

var k =3;
db.collection('sessions', function(err, collection){                        
    collection.find({'session.channel':{'$ne':k+''}},function(err, cursor) {     
    });
});

因为每个会话集合的项都包含一个包含属性“channel”的对象“session”。

是否尝试将3作为字符串。var k='3'给出了channel=k时的所有结果。这是因为“3”存储为字符串。你应该试试{'$ne':'3'}。