# 查询某字段不为空的数据
db.fdafdsa.find({fieldName:{$exists:true}})
# /查询某字段不存在的数据
db.fdafdsa.find({fieldName:{$exists:false}})
本意是想查查mongo数据库的int类型的like怎么查,但是好像没 解决这个问题。
精确查询;模糊查询;分页查询,每页多少:按某个字段排序(或升或降):查询数量:大于,小于,等于;且,或,某个字段不为空,某个字段不存在,查询在某个范围内,删除等等查询。
一. 常用查询:
1. 查询一条数据:(多用于保存时判断db中是否已有当前数据,这里 is 精确匹配,模糊匹配 使用regex…)
public PageUrl getByUrl(String url) {
return findOne(new Query(Criteria.where("url").is(url)),PageUrl.
查询全部数据
> db.foo.find()
{ "_id" : ObjectId("544db3565d92133398a80daa"), "a" : 1, "name" : null }
{ "_id" : ObjectId("544db3565d92133398a80daa"), "a" : 1, "name" : "ZZZZZ" }
{ "_id" : ObjectId("5448
mongdb非空数组查询
初始数据db.test_tab.insert({array:[]})
db.test_tab.insert({array:[1,2,3,4,5]})查询非空//方式一
db.test_tab.find({array:{$elemMatch:{$ne:null}}})
//方式二
db.test_tab.find({$where:"this.array.length>0"}
>findOne();
find()方法是最主要的方法,find方法返回一个指向包含查询结果集数据的游标(cursor)
标准命令是:db.collection.find(<query>, <projection> )
其中<query>相当于sql语句中的where 条件语句;
<projection>相当于要取出的字段。
这里要注意的是,如果不指明query那么指的是查出全部的数据;
还可以查询一个条件多个值的情况
Eg:db.test.find({_id :{$in:[15
const sql = {
// 插入操纵
insert (ColName, insertData) {//所需参数为:ColName:数据库中所需添加的集合名称以及规则,insertData:添加的数据
console.log('11111111')
return new Promise((resolve, reject) => {//异步函数需用到Promise
ColName.insertMany(insertData, (err) => {//集合名.i
mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。它的输出有以下几列:类似于MySQL的slowlog,MongoDB可以监控所有慢的以及不慢的查询。Profiler默认是关闭的,你可以选择全部开启,或者有慢查询的时候开启。查看Profile日志3个字段的意义不多说,此处有官方文档。注意,造成满查询可能是索引的问题,也可能是数据不在内存造成因此磁盘读入造成。Mongodb自带了Web控制台,默认和数据服务一同开
How do I query for fields that have null values?
Fields in a document may store null values, as in a
notional collection, test, with the following documents:
{ _id: 1, cancelDate: null }
其中,field 为需要查询的字段名称。这条语句会查找该字段的值不为 null 的文档,也就是该字段不为空的文档。如果需要查询多个字段不为空的文档,可以使用 $and 操作符,例如:
db.collection.find({
$and: [
{ field1: {$ne: null} },
{ field2: {$ne: null} }
这条语句会查找 field1 和 field2 均不为空的文档。