mongodb数据查询的方式
发布时间:2023-12-19 05:02:32 所属栏目:系统 来源:DaWei
导读: 这篇文章给大家分享的是有关mongodb数据查询的内容,介绍了一些mongodb数据查询实例,具有一定的参考借鉴价值,有这方面学习需要的朋友可以看看。
导入测试数据
在开始之前我们
导入测试数据
在开始之前我们
这篇文章给大家分享的是有关mongodb数据查询的内容,介绍了一些mongodb数据查询实例,具有一定的参考借鉴价值,有这方面学习需要的朋友可以看看。 导入测试数据 在开始之前我们应该先准备数据方便演示,这里我插入的了几条数据,数据如下: db.user.insertMany( [{ name:'jack', age:22, sex:'Man', tags:['python','c++','c'], grades:[22,33,44,55], school:{ name:'shida', city:'xuzhou' } },{ name:'jhon', age:33, sex:null, tags:['python','java'], grades:[66,22,44,88], school:{ name:'kuangda', city:'xuzhou' } }, { name:'xiaoming', age:33, tags:['python','java'], grades:[66,22,44,88], school:{ name:'kuangda', city:'xuzhou' } } ] ) find() 其中query表示查找的条件,相当于mysql中where子句,projection列出你想要查找的数据,格式为db.collection.find(find(<query filter>, <projection>)) 实例: 下面不带参数的查找,将会查找出所有的结果 db.find().pretty(); //输出结果 { "_id" : ObjectId("59056f81299fe049404b2899"), "name" : "jack", "age" : 22, "tags" : [ "python", "c++", "c" ], "grades" : [ 22, 33, 44, 55 ], "school" : { "name" : "shida", "city" : "xuzhou" } } 下面找出满足name为jack的数据,并且只输出name,age,这里的_id是默认输出的,如果不想输出将将它设置为0,想要输出那个字段将它设置为1 db.user.find({name:'jack'},{name:1,age:1}) //输出结果 { "_id" : ObjectId("59056f81299fe049404b2899"), "name" : "jack", "age" : 22 } db.user.find({name:'jack'},{name:1,age:1,_id:0}) //输出结果 {"name" : "jack", "age" : 22 } 注意:这里的一个 projection不能 同时 指定包括和排除字段,除了排除 _id字段。 在 显式包括 字段的映射中,_id 字段是唯一一个您可以 显式排除 的。 查询内嵌文档 上述例子中插入的school数据就表示内嵌文档 完全匹配查询 完全匹配查询表示school中的查询数组必须和插入的数组完全一样,顺序都必须一样才能查找出来 db.user.find({name:'jack',school:{name:'shida',city:'xuzhou'}}); //输出结果 { "_id" : ObjectId("59056f81299fe049404b2899"), "name" : "jack", "age" : 22, "tags" : [ "python", "c++", "c" ], "grades" : [ 22, 33, 44, 55 ], "school" : { "name" : "shida", "city" : "xuzhou" } } //下面是指定输出的字段,这里的school.name表示只输出school文档中name字段,必须加引号 db.user.find({name:'jack',school:{name:'shida',city:'xuzhou'}},{name:1,age:1,'school.name':1}); //输出结果 { "_id" : ObjectId("59056f81299fe049404b2899"), "name" : "jack", "age" : 22, "school" : { "name" : "shida" } } 键值对查询 可以通过键值对查询,不用考虑顺序,比如 'school.name':'shida' ,表示查询学校名字为shida的数据,这里的引号是必须要的 db.user.find({'school.name':'shida'},{name:1,school:1}); //输出结果 { "_id" : ObjectId("59056f81299fe049404b2899"), "name" : "jack", "school" : { "name" : "shida", "city" : "xuzhou" } } 查询操作符 下面我们将配合查询操作符来执行复杂的查询操作,比如元素查询、 逻辑查询 、比较查询操作。我们使用下面的比较操作符"$gt" 、"$gte"、 "$lt"、 "$lte"(分别对应">"、 ">=" 、"<" 、"<=") 关于mongodb数据查询的介绍就到这,上述示例仅供大家参考,希望大家阅读完这篇文章能有所收获,想要了解更多mongodb数据查询内容,大家可以关注其他相关文章。 (编辑:温州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐