MongoDB查询技巧集【持续更新】

//mongodb查看db里有几个collection
show collections

//mongodb查询数据库有哪些表

db.col.find(...).count() 
db.col.find(...).limit(n) //根据条件查找数据并返回指定记录数 
db.col.find(...).skip(n) 
db.col.find(...).sort(...) //查找排序 
db.col.findOne([query]) //根据条件查询只查询一条数据 
db.col.getDB() get DB object associated with collection //返回表所属的库 
db.col.getIndexes() //显示表的所有索引 
db.col.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } ) //根据条件分组 
db.col.mapReduce( mapFunction , reduceFunction ,  ) 
db.col.remove(query) //根据条件删除数据 
db.col.renameCollection( newName ) renames the collection //重命名表 
db.col.save(obj) //保存数据 
db.col.stats() //查看表的状态 
db.col.storageSize() - includes free space allocated to this collection //查询分配到表空间大小 
db.col.totalIndexSize() - size in bytes of all the indexes //查询所有索引的大小 
db.col.totalSize() - storage allocated for all data and indexes //查询表的总大小 
db.col.update(query, object[, upsert_bool]) //根据条件更新数据 
db.col.validate() - SLOW //验证表的详细信息 
db.col.getShardVersion() - only for use with sharding

//正则
{"n": {'$regex' : '.*' + _req.n + '.*'}}


//mongodb 实现lbs查询
/***************************
首先需对col里的loc设置索引为'2d',方可进行$near查询
db.col.ensureIndex({'loc':'2d'})
db.col.getIndexes()
****************************/
db.col.find({"loc": {$near: [longtitude, lattitude], $maxDistance:0.1}})

// mongodb里数组值查询
/*****************************
{ _id: 1, results: [ 82, 85, 88 ] }
{ _id: 2, results: [ 75, 88, 89 ] }
db.scores.find(
   { results: { $elemMatch: { $gte: 80, $lt: 85 } } }
)
******************************/
db.col.find({"img": {$elemMatch: {$regex: ".*willschang.*"}}})

你可能感兴趣的:(MongoDB查询技巧集【持续更新】)