Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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/1/database/9.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
Mongodb C#复杂查询_C#_Database_Mongodb_Mongodb Query_.net Core - Fatal编程技术网

Mongodb C#复杂查询

Mongodb C#复杂查询,c#,database,mongodb,mongodb-query,.net-core,C#,Database,Mongodb,Mongodb Query,.net Core,我对c#mongodb司机有点陌生 我有一个集合,其中包含具有以下结构的文档 { _id : 5a424d61f5213516a0249323, email : abc@gmail.com, applications : [ { applicationId : 5a3b54723629c20df8bcae8d, applicationStatus: "Open", type

我对c#mongodb司机有点陌生

我有一个集合,其中包含具有以下结构的文档

{
  _id          : 5a424d61f5213516a0249323,
  email        : abc@gmail.com,
  applications : [
     {
        applicationId    : 5a3b54723629c20df8bcae8d,
        applicationStatus: "Open",
        type             : "Private",
        category         : "Tech"
     },
     {
        applicationId    : 5a3b54723629c20df8bcaeasd,
        applicationStatus: "Close",
        type             : "Public",
        category         : "Agri"
     },
     {
        applicationId    : 5a3b54723629c20df8bcajkl,
        applicationStatus: "Open",
        type             : "Public",
        category         : "Business"
     },
     {
        applicationId    : 5a3b54723629c20df8bca852,
        applicationStatus: "Close",
        type             : "Public",
        category         : "Agri"
     },
  ]
}
我想获得所有不包含“Tech”类应用程序的文档。 简单地说,我想要所有的文件,除了那些应用“技术”类别的文件

我尝试了以下查询

db.users.Find(Builders<UserModel>.Filter.And(
    Builders<UserModel>.Filter.ElemMatch(u => applications, a => a.category!= "Tech")
))
db.users.Find(Builders.Filter.And(
Builders.Filter.ElemMatch(u=>applications,a=>a.category!=“Tech”)
))
但它返回空白查询 有人能教我如何为这类文档编写复杂的查询吗? 忽略我的疑问,建议我完成这项工作的标准方法

提前感谢。:)

您可以尝试使用Not

db.users.Find(Builders<UserModel>.Filter.Not(Builders<UserModel>.Filter.ElemMatch(u => applications, a => a.category == "Tech")))
db.users.Find(Builders.Filter.Not(Builders.Filter.ElemMatch(u=>applications,a=>a.category==“Tech”))

我想使用Linq会更容易些,但不确定您是否可以在项目中使用它。我用Linq尝试过,但没有效果。你在关注我的问题。这是错误的。如果我在where子句中使用where子句,Mongodb c#driver会抛出一个错误。