mongodb相关的sql操作
#创建数据库,如果数据库不存在则会创建,如果存在,则会切换到指定数据库
use DATABASE_NAME
#查看所有数据库
show dbs
#删除数据库,首先要切换到要删除的数据库,然后执行命令
db.dropDatabase()
#删除集合,切换到数据库,然后执行命令
db.collection.drop()
#创建集合
db.createCollection('test_01')
#查看已有集合
show collections 或者 show tables
#删除集合,首先先通过show collections 命令查看已经存在的集合
db.test_01.drop()
#插入语文档下面例子是存储在MongoDB 的test数据库的test_01集合,插入相关数据
db.test_01.insert({title: 'MongoDB 学习',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'sql练习',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100000
})
#更新文档
db.test_01.update({'title':'MongoDB 学习'},{$set:{'title':'MongoDB'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) # 输出信息
#删除数据
db.test_01.remove({'title':'MongoDB 学习'})
#查询数据
db.test_01.find({"by":"sql 练习", "title":"MongoDB 学习"}).pretty()
#条件查询,如果你想获取 "test_01" 集合中 "likes" 大于 100 的数据,你可以使用以下命令:
db.test_01.find({likes : {$gt : 100}})(大于$gt,小于$lt,大于等于$gte,小于等于$lte)
#$type 如果想获取 "type" 集合中 title 为 String 的数据,你可以使用以下命令:
db.test_01.find({"title" : {$type : 2}})
或
db.test_01.find({"title" : {$type : 'string'}})
#Limit用法
db.test_01.find({},{"title":1,_id:0}).limit(1)
{ "title" : "Linux 学习" }
#排序 test_01 集合中的数据按字段 likes 的降序排列:
>db.test_01.find({},{"title":1,_id:0}).sort({"likes":-1})
{ "title" : "awk 学习" }
{ "title" : "前端 学习" }
{ "title" : "MongoDB 学习" }
#索引
#创建索引
db.col.createIndex({"title":1})
#1、查看集合索引
db.test_01.getIndexes()
#2、查看集合索引大小
db.test_01.totalIndexSize()
#3、删除集合所有索引
db.test_01.dropIndexes()
#4、删除集合指定索引
db.test_01.dropIndex("索引名称")
#聚合查询
db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
相当于select by_user, count(*) from mycol group by by_user