Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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
C# 使用c MongoDB.Driver 2.0.1在数组中创建按位查询_C#_Mongodb - Fatal编程技术网

C# 使用c MongoDB.Driver 2.0.1在数组中创建按位查询

C# 使用c MongoDB.Driver 2.0.1在数组中创建按位查询,c#,mongodb,C#,Mongodb,我使用2.0.1版的最新C MongoDB.Driver 我的系列产品如下: 我想创建一个按位比较的查询,如下所示: 如何从代码中执行此操作?在您的示例中,只有一个文档符合您的标准。对于该文档,发出一个普通查询{Day:8}要容易得多。换句话说,在一天的所有其他值中,应用Day&8将产生0。如前所述,这里的示例也可以直接查找8的值。但您的基本逻辑问题是$where不能在$elemMatch中使用。相反,您需要JavScript遍历数组ie..some并对每个元素进行比较。但在这种情况下,最好只对

我使用2.0.1版的最新C MongoDB.Driver

我的系列产品如下:

我想创建一个按位比较的查询,如下所示:


如何从代码中执行此操作?

在您的示例中,只有一个文档符合您的标准。对于该文档,发出一个普通查询{Day:8}要容易得多。换句话说,在一天的所有其他值中,应用Day&8将产生0。如前所述,这里的示例也可以直接查找8的值。但您的基本逻辑问题是$where不能在$elemMatch中使用。相反,您需要JavScript遍历数组ie..some并对每个元素进行比较。但在这种情况下,最好只对值8进行直线运算符匹配。可能文档做得不好。在列表中,它有13个元素,1+2+8天与旧驱动程序这是可能的!不是以你编写代码的方式。不能混合运算符。要么全是JavaScript,要么什么都没有。您可以比较其他字段,但整个数组比较需要使用JavaScript。
{
    "_id" : "55f7ceb2c01fcb2cd462e7a8",
    "Visible" : true,
    "Title" : "Product 1",
    "Description" : "",
    "ShowTimes" : [ 
        {
            "Day" : 1,
            "From" : 800,
            "To" : 1830
        }, 
        {
            "Day" : 2,
            "From" : 800,
            "To" : 1830
        }, 
        {
            "Day" : 4,
            "From" : 800,
            "To" : 1830
        }, 
        {
            "Day" : 8,
            "From" : 800,
            "To" : 2100
        }, 
        {
            "Day" : 16,
            "From" : 800,
            "To" : 1830
        }, 
        {
            "Day" : 32,
            "From" : 800,
            "To" : 1600
        }
    ],
    "Price" : 63.00,
    "Discount" : 20,
}
{
    "Visible": true,
    "ShowTimes": {
        "$elemMatch": {
            "$where": "this.Day & 8 == 8",
        }
    }
}