Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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

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
node.js中的$elemMatch投影_Node.js_Mongodb - Fatal编程技术网

node.js中的$elemMatch投影

node.js中的$elemMatch投影,node.js,mongodb,Node.js,Mongodb,我在node.js中有上面的查询,但是由于某种原因,查询的elemMatch部分在node.js上不起作用,但是当我在mongo终端中执行相同的查询时,它就起作用了,所以我想node.js可能不支持$elemMatch?如果是这种情况,有人能告诉我node.js中这个查询的等价物是什么吗 my DB中的示例数据: dbo.collection("users") .findOne({email: emailGiven, "friends.email": element.em

我在node.js中有上面的查询,但是由于某种原因,查询的elemMatch部分在node.js上不起作用,但是当我在mongo终端中执行相同的查询时,它就起作用了,所以我想node.js可能不支持$elemMatch?如果是这种情况,有人能告诉我node.js中这个查询的等价物是什么吗

my DB中的示例数据:

dbo.collection("users")
            .findOne({email: emailGiven, "friends.email": element.email},
                     { friends: { $elemMatch: { email: element.email } } },
                     function(errT, resultT) {})

如果要
查找存储在某个变量中的任何值,可以使用
regex
。您的查询应该如下所示

/* 4 */
{
    "_id" : ObjectId("5ad20cef8248544860ce3dc1"),
    "username" : "test",
    "email": "",
    "fullName" : "",
    "friends" : [{email: "",
                 status :""}],
    "alarms": [ {"id":111,
        "title": "TITLE",
        "location": "",
        "startTime": "10-10-1996 10:18:00",
        "endTime": "10-10-1996 10:18:00" }, {},{}

    ],
     "pnumber" : ""
}

i
用于此处不区分大小写的比较

如果要
查找存储在某个变量中的任何值,请使用
regex
。您的查询应该如下所示

/* 4 */
{
    "_id" : ObjectId("5ad20cef8248544860ce3dc1"),
    "username" : "test",
    "email": "",
    "fullName" : "",
    "friends" : [{email: "",
                 status :""}],
    "alarms": [ {"id":111,
        "title": "TITLE",
        "location": "",
        "startTime": "10-10-1996 10:18:00",
        "endTime": "10-10-1996 10:18:00" }, {},{}

    ],
     "pnumber" : ""
}
i
用于此处不区分大小写的比较

node.js驱动程序的调用签名与MongoDB shell中的
findOne
不同。将字段选择对象作为
选项
参数的
投影
元素传递:

dbo.collection("users").findOne({
    email: new RegExp(emailGiven, 'i'),
    "friends.email": new RegExp(element.email, 'i')
}, {
    friends: {
        $elemMatch: {
            email: new RegExp(element.email, 'i')
        }
    }
}, function(errT, resultT) {})
node.js驱动程序的调用签名与MongoDB shell中的
findOne
不同。将字段选择对象作为
选项
参数的
投影
元素传递:

dbo.collection("users").findOne({
    email: new RegExp(emailGiven, 'i'),
    "friends.email": new RegExp(element.email, 'i')
}, {
    friends: {
        $elemMatch: {
            email: new RegExp(element.email, 'i')
        }
    }
}, function(errT, resultT) {})

elemMatch part在node.js上不起作用,您是否看到任何错误或什么?没有错误它只是返回如果elemMatch不在那里就会返回的查询您是否尝试过回答elemMatch part在node.js上不起作用,你看到什么错误了吗?没有错误,只是返回了如果elemMatch不在的话会返回的查询。你试着回答了吗谢谢。。。我整天都在找这个。工作完美!谢谢我整天都在找这个。工作完美!