mongodb(3)--文档查询

一、简单查询

-- 查询所有文档
db.COLLECTION_NAME.find()
-- 将查询结果以json形式显示
db.COLLECTION_NAME.find().pretty()

二、按条件查询文档

db.COLLECTION_NAME.find(query,projection)

参数说明:

  • query:可选,
  • projection:可选,查询时返回文档中所有键值,(默认省略)

说明:

  • 按条件分为逻辑操作符和比较操作符
  • 逻辑操作符:与、或等等
  • 比较操作符:大于、小于、大于等于、小于等于、不等于、包含、不包含

语法以及举例说明:

-- 与操作符$and
db.COLLECTION_NAME.find({$and:[{<key1>:<value1>,<key2>:<value2>}]})
-- 或操作符$or
db.COLLECTION_NAME.find({$or:[{<key1>:<value1>},{<key2>:<value2>}]})

-- 等于操作符
db.COLLECTION_NAME.find({<key1>:<value1>})
-- where by = '菜鸟教程'
db.col.find({"by":"菜鸟教程"})

-- 不等于操作符$ne
db.COLLECTION_NAME.find({<key>:$ne:{<value>}})
-- where likes != 50
db.col.find({"likes":{$ne:50}})

-- 大于操作符$gt
db.COLLECTION_NAME.find({<key>:{$gt:<value>}})
-- where likes > 50
db.col.find({"likes":{$gt:50}})

-- 小于操作符$lt
db.COLLECTION_NAME.find({<key>:{$lt:<value>}})
-- where likes < 50
db.col.find({"likes":{$lt:50}})

-- 大于等于操作符$gte
db.COLLECTION_NAME.find({<key>:{$gte:<value>}})
-- where likes >= 50
db.col.find({"likes":{$gte:50}})

-- 小于等于操作符$lte
db.COLLECTION_NAME.find({<key>:{$lte:<value>}})
-- where likes <= 50
db.col.find({"likes":{$lte:50}})

-- 包含操作符$in
-- 注意:in的是一个数组
db.COLLECTION_NAME.find({<key>:{$in:[<values>]}})

-- 不包含操作符$nin
db.COLLECTION_NAME.find({<key>:{$nin:[<values>]}})

AND 与 OR 操作符联合使用

db.comment.find
({
 $and:[
	{$or:[{userid:"1001"},{userid:"1003"}]},{$or:[{userid:"1001"},{userid:"1003"}]}
      ]
 })

 

三、按特定类型查询文档

1、NULL类型查询

-- NULL类型查询,查询字段值为null的文档
db.COLLECTION_NAME.find({<key>:null})

2、正则表达式查询

-- 查询符合某个规则的文档
db.COLLECTION_NAME.find({<key>:/正则表达式/})
db.COLLECTION_NAME.find({<key>:{$regex:/正则表达式/}})

说明:举例

-- $匹配输入字符串结尾位置
db.comment.find({content:{$regex:/水$/}})

-- ^匹配输入字符串开始位置
db.comment.find({content:{$regex:/^专家/}})

-- 匹配带有 凉开水 的
db.comment.find({content:{$regex:/凉开水/}})

-- 正则表达式自己搜索

3、嵌套文档查询之子文档精确查询

-- 用于在集合中指定子文档,查询符合条件的文档
db.COLLECTION_NAME.find({<key>:{<key1>:<value1>,<key2>:<value2>}})

 4、嵌套文档查询之点查询

-- 用于集合中指定子文档中一个字段,查询包含该字段的文档
db.COLLECTION_NAME.find({<key>.<key1>:<value>})
-- 属性.子属性

 

posted @ 2023-03-31 21:40  洛小依ovo  阅读(121)  评论(0)    收藏  举报