MongoDB的find操作详解

    MongoDB使用find来执行查询。find的第一个参数相当于where,其形式也是一个文档,说明查询所需匹配的条件,文档中的多个key/value能够实现类似AND的操作。

 

   1 指定所需返回的键 (默认总会返回“_id"键,除非声明为0)

db.mydb.find({}, {"name": 1, "_id": 0})

   2 指定复杂查询条件,可以利用"$lt"、"$lte"、"gt"、"gte"和"$ne"等比较操作符,形成复杂的查询条件。

db.mydb.find({"age": {"$gte": 10, "$lte": 20}})

   3 OR查询 

db.mydb.find({"age": {"$in": [10, 20, 30])))

db.mydb.find({"age": {"$nin": [10, 20, 30]}})

db.mydb.find({"$or": [{"gender": "female"}, {"name": "winstar"}]})

   4 $mod条件

db.mydb.find({"age": {"$mod": [3, 2]}})

   5 $not条件

db.mydb.find({"age": {"$not": {"$mod": [3, 2]}}})

   6 null

   (1)简单方式

db.mydb.find({name: null})

将匹配“name"的值为null的文档以及根本没有”name“这个字段的文档。

   

   (2)复杂方式--确保含有”name”字段,但值为null的文档

db.mydb.find({"name": {"$in": [null], "$exists": true}})

    7 正则表达式

db.mydb.find({"name": /winstar/i})

     8 根据单个数组元素值查询

db.mydb.insert({"friends": ["winstar", "jack", "john"]})
db.mydb.find({"friends": "jack"})

     9 根据数据中的多个元素值查询

db.mydb.find({"friend": {"$all": ["jack", "john"]}})

    10  根据数组指定位置的元素值查询

db.mydb.find({"friends.1": "jack"})

    11 根据数组的长度查询

db.mydb.find({"friends": {"$size": 3}})

    12 指定查询返回的条数 limit

db.mydb.find().limit(10)

    13 根据字段是否存在的查询

db.mydb.find({age: {"$exists": true}})
db.mydb.find({age: {"$exists": false}})

    14 返回查询记录条数

db.mydb.find().count()

    15 返回整个集合的记录条数

db.mydb.count()

    16 限制返回记录的起点

db.mydb.find().skip(1).limit(1)

    17 按某个字段升序排序

db.mydb.find().sort({age: 1})

    18 按某个字段降序排序

db.mydb.find().sort({age: -1})


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 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# 驱动程序实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值