数据聚合查询
db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
#相当于 select by_user, count(*) from mycol group by by_user
数据搜索
### AND
db.demo.find({"name":"tom","sn":"2516"})
### OR
db.demo.find({$or:[{"name":"tom"},{"sn":"2500"}]})
### AND - OR
db.demo.find({"sex":1,$or:[{"name":"tom"},{"sn":"2500"}]})
### 等于-不等于-大于-大于或等于-区间
{"sn":"2512"}
{"sn":{$ne:"2512"}}
{"sn":{$gt:"2512"}}
{"sn":{$gte:"2512"}}
{"sn":{$gt:"2512"}}
{"sn":{$gt:"2500",$lt:"3000"}}
### 查询字段
db.demo.find({"sn":{$gt:"2512"}},{"name":1,_id:0})
### LIMIT SKIP SORT
db.demo.find({"sn":{$gt:"2512"}},{"name":1,_id:0}).limit(5),skip(10).sort({"score":-1})
### TYPE
db.demo.find({"name" : {$type : 'string'}})
数据索引
# 建立索引
# 1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1
db.demo.createIndex({"name":1})
db.demo.createIndex({"name":1},{unique:true})
# 获取索引
db.demo.getIndexes()
数据
## 插入(若集合不存在则自动创建)
db.demo.insert({"name":"tom","sn":"2516"})
db.demo.insert({"name":"jim","sn":"2500"})
## 查询
db.demo.find().pretty()
## 删除
db.demo.remove({"sn":"2516"})
## 更新
db.demo.update({"sn":"2516"},{$set:{"name":"jim"}})
集合
# 创建集合
db.createCollection("city")
# 显示所有的集合
show collections
# show tables
# 重命名集合
db.city.renameCollection('cities')
# 删除集合
db.cities.drop()
数据库
# 切换数据库(若数据库不存在则自动创建)
use demo
# 查看当前的数据库
db
# 删除当前的数据库
db.dropDatabase()
# 显示所有的数据库
show dbs
# 修改数据库名称
db.runCommand({renameCollection: "test.test", to: "test1.test"});
文档
http://www.mongoing.com/docs/tutorial/calculate-distances-using-spherical-geometry-with-2d-geospatial-indexes.html
网友评论