LINQ-to-MongoDB - 仅当两列之间的值匹配时才返回列表

mongodb

1个回答

写回答

了了要开心

2025-07-09 16:55

+ 关注

MongoDB
MongoDB

使用LINQ-to-MongoDB是一种方便的方法来查询和操作MongoDB数据库。在某些情况下,我们可能需要仅返回满足特定条件的结果列表。这篇文章将介绍如何使用LINQ-to-MongoDB在两列之间进行匹配,并且只返回匹配的结果。

连接两列并返回匹配结果的方法

在LINQ-to-MongoDB中,我们可以使用Where方法来选择满足特定条件的结果。要在两列之间进行匹配,我们可以使用&&运算符来连接两个条件。下面是一个示例代码:

csharp

using MongoDB.Driver;

using MongoDB.Driver.Linq;

public class Person

{

public string Name { get; set; }

public int Age { get; set; }

}

public class Program

{

public static void MAIn(string[] args)

{

var client = new MongoClient("MongoDB://localhost:27017");

var Database = client.GetDatabase("mydb");

var collection = Database.Getcollection<Person>("people");

var query = collection.AsQueryable()

.Where(p => p.Name == "John" && p.Age > 30)

.ToList();

foreach (var person in query)

{

Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

}

}

}

在上面的示例中,我们创建了一个Person类来表示MongoDB中的文档。我们使用MongoClient来连接到MongoDB服务器,并获取对数据库和集合的引用。然后,我们使用LINQ-to-MongoDBAsQueryable方法将集合转换为可查询的对象。接下来,我们使用Where方法来指定我们的条件:p.Name == "John"表示只选择名字为"John"的人,p.Age > 30表示只选择年龄大于30岁的人。最后,我们使用ToList方法将结果转换为列表,并通过遍历打印每个匹配的人的姓名和年龄。

应用案例

假设我们有一个名为"people"的集合,其中包含了一些人的信息,如姓名和年龄。我们想要从中选出所有名字为"John"且年龄大于30岁的人。以下是一个具体的应用案例:

csharp

var query = collection.AsQueryable()

.Where(p => p.Name == "John" && p.Age > 30)

.ToList();

foreach (var person in query)

{

Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

}

以上代码将返回所有满足条件的人的姓名和年龄。

使用LINQ-to-MongoDB可以方便地查询和操作MongoDB数据库。在本文中,我们学习了如何使用LINQ-to-MongoDB仅返回满足两列之间匹配条件的结果。我们通过一个案例代码来说明了如何应用这个方法。希望本文对你理解和使用LINQ-to-MongoDB有所帮助!

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号