c# 中 mongodb各种查询操作详解
时间: 2023-11-14 22:06:38 浏览: 113
C#操作mongodb
5星 · 资源好评率100%
在 C# 中使用 MongoDB 进行查询操作,需要使用 MongoDB 的 C# 驱动程序,该驱动程序提供了一组 API 用于实现查询操作。下面我们来分别介绍这些查询操作:
1. 等于查询
等于查询是最常用的查询操作,它用于查询指定字段等于指定值的文档。在 C# 中实现等于查询,可以使用下面的代码:
```c#
var filter = Builders<BsonDocument>.Filter.Eq("field", "value");
var result = collection.Find(filter).ToList();
```
其中,`field` 是要查询的字段名,`value` 是要查询的值。`Builders<BsonDocument>.Filter.Eq` 方法用于创建等于查询的过滤器,`collection.Find` 方法用于执行查询操作。
2. 大于查询和小于查询
大于查询和小于查询分别用于查询指定字段大于或小于指定值的文档。在 C# 中实现大于查询和小于查询,可以使用下面的代码:
```c#
// 大于查询
var filter = Builders<BsonDocument>.Filter.Gt("field", "value");
var result = collection.Find(filter).ToList();
// 小于查询
var filter = Builders<BsonDocument>.Filter.Lt("field", "value");
var result = collection.Find(filter).ToList();
```
其中,`Builders<BsonDocument>.Filter.Gt` 方法用于创建大于查询的过滤器,`Builders<BsonDocument>.Filter.Lt` 方法用于创建小于查询的过滤器。
3. 大于等于查询和小于等于查询
大于等于查询和小于等于查询分别用于查询指定字段大于等于或小于等于指定值的文档。在 C# 中实现大于等于查询和小于等于查询,可以使用下面的代码:
```c#
// 大于等于查询
var filter = Builders<BsonDocument>.Filter.Gte("field", "value");
var result = collection.Find(filter).ToList();
// 小于等于查询
var filter = Builders<BsonDocument>.Filter.Lte("field", "value");
var result = collection.Find(filter).ToList();
```
其中,`Builders<BsonDocument>.Filter.Gte` 方法用于创建大于等于查询的过滤器,`Builders<BsonDocument>.Filter.Lte` 方法用于创建小于等于查询的过滤器。
4. 包含查询
包含查询用于查询指定字段包含指定值的文档。在 C# 中实现包含查询,可以使用下面的代码:
```c#
var filter = Builders<BsonDocument>.Filter.In("field", new BsonArray { "value1", "value2", "value3" });
var result = collection.Find(filter).ToList();
```
其中,`new BsonArray { "value1", "value2", "value3" }` 是要查询的值列表,`Builders<BsonDocument>.Filter.In` 方法用于创建包含查询的过滤器。
5. 不包含查询
不包含查询用于查询指定字段不包含指定值的文档。在 C# 中实现不包含查询,可以使用下面的代码:
```c#
var filter = Builders<BsonDocument>.Filter.Nin("field", new BsonArray { "value1", "value2", "value3" });
var result = collection.Find(filter).ToList();
```
其中,`new BsonArray { "value1", "value2", "value3" }` 是要查询的值列表,`Builders<BsonDocument>.Filter.Nin` 方法用于创建不包含查询的过滤器。
以上是 MongoDB 中常用的几种查询操作,在 C# 中可以使用 MongoDB 的 C# 驱动程序实现。
阅读全文