company为Mongodb数据文件,也是集合。
/*查询集合中所有的文档,即关系型数据库中的查询表中的所有数据。*/
db.company.find() //mongodb语法
select * from company //sql语法
/*返回自己制定的键值*/
db.company.find({},{"comId":1,"comIpgp":1,"comName":1,"updateTime":1})
select comId,comIpgp,comName,updateTime from company
/*查询结构解释*/
db.collection.find({},{})
//第一个{}中,写入的都是相当于sql语句中where后的条件,多条件格式为{"key":value,"key2":"value2"}
//第二个{}中,写入的都是相当于sql语句中跟在select后边的具体字段,格式为{"key":value,"key2":value}
//当value = 0时为不显示此字段值,当value !=0,即等于任何非0值时,则为显示此字段。
db.company.find({"comId":38},{"comId":1,"comIpgp":1,"comName":1,"updateTime":1})
select comId,comIpgp,comName,updateTime from company where comId = 38
/*排序+限制个数*/
db.company.find({},{"comId":1,"comIpgp":1,"comName":1,"updateTime":1}).sort({"comId":1}).limit(10)//升序
select comId,comIpgp,comName,updateTime from company order by comId asc limit 10
db.company.find({},{"comId":1,"comIpgp":1,"comName":1,"updateTime":1}).sort({"comId":-1}).limit(10)//降序
select comId,comIpgp,comName,updateTime from company order by comId desc limit 10
//跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。
db.company.find({},{"comId":1,"comIpgp":1,"comName":1,"updateTime":1}).sort({"comId":-1}).limit(10).skip(5)
select comId,comIpgp,comName,updateTime from company order by comId desc limit 5,10
/*查询总数*/
db.company.count()
select count(*) from company
/*比较运算符*/
db.company.find({"comId":{"$gt":195961}}) //大于
select * from company where comId > 195961
db.company.find({"comId":{"$gte":195961}}) //大于等于
select * from company where comId >= 195961
db.company.find({"comId":{"$lt":195961}}).sort({"comId":-1}).limit(10) //小于
select * from company where comId <195961 order by comId desc limit 10
db.company.find({"comId":{"$lte":195961}}).sort({"comId":-1}).limit(10) //小于等于
select * from company where comId <= 195961 order by comId desc limit 10
db.company.find({"comId":{"$ne":195961}}).sort({"comId":-1}).limit(10) //不等于
select * from company where comId != 195961 order by comId desc limit 10
/*为空*/
db.company.find({"comId":null})
select * from company where comId is null
/*当文档类型为数组时,使用$all进行匹配,非数组类型使用时与单一匹配一样*/
db.company.find({"comId":{"$all":195961}}) //查询操作符"$all"-->匹配所有
db.company.find({"comId":195961}) //匹配单个
select * from company where comId = 195961
/*查询操作符"$size"-->用于数组查询,查询指定长度的数组*/
db.company.find({"firstTags":{"$size":3}})
/*查询操作符"$in"--> 在范围内*/
db.company.find({"comId":{"$in":[38,61]}})
select * from company where comId in (38,61)
/*查询操作符"$nin"-->不在范围内*/
db.company.find({"comId":{"$nin":[38,61]}})
select * from company where comId not in (38,61)
/*查询操作符"$and"-->至少包含两个表达式,两个表达式都满足的文档返回*/
db.company.find({"$and":[{"comId":38},{"comIpgp":"007car"}]})
select * from company where comId = 38 and comIpgp = "007car"
/*查询操作符"$nor"-->至少包含两个表达式,两个表达式都不满足的文档返回*/
db.company.find({"$nor":[{"comId":38},{"comId":61}]})
select * from company where comId not in (38,61);
/*查询操作符"$not"-->找出不匹配表达式的文档,不能够单独使用,必须与其他表达式配合使用*/
db.company.find({"comId":{"$not":{"$gt":38}}})
db.company.find({"comId":{"$lte":38}})
select * from company where comId <=38;
/*查询操作符"$or"-->至少包含两个表达式,两个表达式至少满足一个的文档返回*/
db.company.find({"$or":[{"comId":38},{"comId":61}]})
select * from company where comId =38 or comId = 61
/*查询操作符"$exists"-->查询文档中字段是否存在*/
db.company.find({"$exists":"comId"})
/*查询操作符"$mod"-->键值对变量参数取模,值等于另一个参数
执行条件:comId字段值必须是数字,comId对10取模,值等于7的文档返回。*/
db.company.find({"comId":{"$mod":[10,7]}})
select * from company where (comId%10)=7
/*查询操作符"$regex"-->正则匹配
正则匹配comId的最后一位是5的,sql中只有使用regexp才可以使用复杂的正则表达式,使用Like的方式不可以进行复杂的正则匹配*/
db.company.find({"comId":/5$/})
select * from company where comId like '%5'; //sql查询
select * from company where comId regexp ".5$"; //sql正则写法
/*查询操作符"$slice"-->控制返回的数组元素中的元素个数*/
db.company.find({},{"firstTags":{"$slice":3}})//remark数组键值,返回数组键值中的前5个元素
db.company.find({},{"firstTags":{"$slice":[10,5]}})//remark数组键值,返回数组键值中的第11到15个元素,偏移量为10,然后返回5个。
db.company.find({},{"firstTags":{"$slice":-5}})//remark数组键值,返回数组键值中的后5个元素
MongoDB 查询指令 Spring输出到控制台 mongodb查询sql
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章