mongodb高级查询
MongoDB 的逻辑结构是一种层次结构。主要由文档(document)、集合(collection)、数据库(database)这三部分组成的。逻辑结构是面向用户的用户使用MongoDB 开发应用程序使用的就是逻辑结构。
成都创新互联公司服务项目包括五通桥网站建设、五通桥网站制作、五通桥网页制作以及五通桥网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,五通桥网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到五通桥省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
MongoDB 的文档document相当于关系数据库中的一行记录。
多个文档组成一个集合collection相当于关系数据库的表。
多个集合collection逻辑上组织在一起就是数据库database。
一个MongoDB 实例支持多个数据库database。
mongodb条件查询
db.collection.find({"field":{$gt:value}}) //大于
db.collection.find({ "field" : { $lt: value } } ); // 小于: field < value
db.collection.find({ "field" : { $gte: value } } ); // 大于等于: field >= value
db.collection.find({ "field" : { $lte: value } } ); // 小于等于: field <= value
如果要同时满足多个条件可以这样做
db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); // value1 < field < value
$all匹配所有 必须满足[ ]内的所有值例如:
db.users.find({age : {$all : [6, 8]}});
可以查询出 {name: 'David', age: 26, age: [ 6, 8, 9 ] }
但查询不出 {name: 'David', age: 26, age: [ 6, 7, 9 ] }
$exists判断字段是否存在
查询所有存在age 字段的记录
db.users.find({age: {$exists: true}});
查询所有不存在name 字段的记录
db.users.find({name: {$exists: false}});
$ne不等于
查询x 的值不等于3 的数据
db.things.find( { x : { $ne : 3 } } );
$in包含
查询x 的值在2,4,6 范围内的数据
db.things.find({x:{$in: [2,4,6]}});
$nin不包含
查询x 的值在2,4,6 范围外的数据
db.things.find({x:{$nin: [2,4,6]}});
$size数组元素个数
对于{name: 'David', age: 26, favorite_number: [ 6, 7, 9 ] }记录
匹配db.users.find({favorite_number: {$size: 3}});
不匹配db.users.find({favorite_number: {$size: 2}});
正则表达式匹配
查询不匹配name=B*带头的记录
db.users.find({name: {$not: /^B.*/}});
skip限制返回记录的起点
从第3 条记录开始返回5 条记录(limit 3, 5)
db.users.find().skip(3).limit(5);
sort排序
以年龄升序asc
db.users.find().sort({age: 1});
以年龄降序desc
db.users.find().sort({age: -1});
本文题目:mongodb高级查询
文章链接:http://azwzsj.com/article/gijogd.html