位置: 编程技术 - 正文
推荐整理分享MongoDB数据查询方法干货篇(mongodb查询表数据),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mongodb查询数据库列表,mongodb怎么查数据,mongodb怎么查数据,mongodb数据库查询,mongodb数据库查询,mongodb查询语句大全,mongodb如何查询数据,mongodb查询数据库列表,内容如对您有帮助,希望把文章链接给更多的朋友!
本文主要给大家介绍了MongoDB数据查询的相关内容,对大家具有一定的参考价值,需要的朋友们一起来学习学习吧。
导入测试数据
在开始之前我们应该先准备数据方便演示,这里我插入的了几条数据,数据如下:
find()
其中query表示查找的条件,相当于mysql中where子句,projection列出你想要查找的数据,格式为db.collection.find(find(<query filter>, <projection>))
实例:
下面不带参数的查找,将会查找出所有的结果
下面找出满足name为jack的数据,并且只输出name,age,这里的_id是默认输出的,如果不想输出将将它设置为0,想要输出那个字段将它设置为1
**注意:这里的一个 projection不能 同时 指定包括和排除字段,除了排除 _id字段。 在 显式包括 字段的映射中,_id 字段是唯一一个您可以 显式排除 的。
查询内嵌文档
上述例子中插入的school数据就表示内嵌文档
完全匹配查询
完全匹配查询表示school中的查询数组必须和插入的数组完全一样,顺序都必须一样才能查找出来
键值对查询
可以通过键值对查询,不用考虑顺序,比如 'school.name':'shida' ,表示查询学校名字为shida的数据,这里的引号是必须要的
查询操作符
下面我们将配合查询操作符来执行复杂的查询操作,比如元素查询、 逻辑查询 、比较查询操作。我们使用下面的比较操作符"$gt" 、"$gte"、 "$lt"、 "$lte"(分别对应">"、 ">=" 、"<" 、"<=")
实例
下面查询年龄在-之间的信息
$ne
$ne表示不相等,例如查询年龄不等于岁的信息
slice
$slice操作符控制查询返回的数组中元素的个数。此操作符根据参数{ field: value } 指定键名和键值选择出文档集合,并且该文档集合中指定array键将返回从指定数量的元素。如果count的值大于数组中元素的数量,该查询返回数组中的所有元素的。
语法:db.collection.find( { field: value }, { array: {$slice: count }});
下面将查询grades中的前两个数
下面将输出后3个数据
下面介绍指定一个数组作为参数。数组参数使用[ skip , limit ] 格式,其中第一个值表示在数组中跳过的项目数,第二个值表示返回的项目数。
$exists如果$exists的值为true,选择存在该字段的文档,若值为false则选择不包含该字段的文档
下面将会查询不存在sex这一项的信息
$or
执行逻辑OR运算,指定一个至少包含两个表达式的数组,选择出至少满足数组中一条表达式的文档。
语法: { $or: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }
下面将要查找age等于或者age等于的值
下面将会查找出年龄为或者并且姓名为jack的人的信息
$and
指定一个至少包含两个表达式的数组,选择出满足该数组中所有表达式的文档。$and操作符使用短路操作,若第一个表达式的值为“false”,余下的表达式将不会执行。
语法: { $and: [ { <expression1> }, { <expression2> } , ... , { <expressionN> } ] }
下面将会查找年龄在-之间的信息,对于下面使用逗号分隔符的表达式列表,MongoDB会提供一个隐式的$and操作:
$in
匹配键值等于指定数组中任意值的文档。类似sql中in,只要匹配一个value就会输出
语法: { field: { $in: [<value1>, <value2>, ... <valueN> ] } }
下面将会查找grades中存在,之间的任意一个数的信息
$nin
匹配键不存在或者键值不等于指定数组的任意值的文档。类似sql中not in(SQL中字段不存在使用会有语法错误).
查询出grades中不存在或者的文档
$not
执行逻辑NOT运算,选择出不能匹配表达式的文档 ,包括没有指定键的文档。$not操作符不能独立使用,必须跟其他操作一起使用
语法: { field: { $not: { } } }
查询年龄不大于的信息
迭代游标的查询
学过高级语言的朋友都知道迭代的问题,像java,下面使用迭代的方法查询
总结
标签: mongodb查询表数据
本文链接地址:https://www.jiuchutong.com/biancheng/312635.html 转载请保留说明!友情链接: 武汉网站建设