所使用的数据库软件为
NoSQLBootster for MongoDB
SQL数据来源== >>> https://www.w3cschool.cn/mongodb/<<<
// db.user.find()
//显示所有的数据库
show dbs
基本操作
// ---------------------基本操作--------------------------------
db.youj.insert({"name":"dshauandka"})
db.youj.insert({"address":"北京","phone":"123456213"})
db.youj.find()
db
use youj
删除数据库
// 删除数据库
db.dropDatabase()
// ---------------------删除--------------------------------
// 插入一条数据
db.col.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'w3cschool',
url: 'http://www.w3cschool.cn',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
db.col.insert({title: 'MongoDB 文档',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'w3cschool',
url: 'http://www.w3cschool.cn',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 40
})
// 查看数据
db.col.find()
// 删除 title 为 MongoDB 教程 所有的数据
db.col.remove({'title':'MongoDB 教程'})
// 删除 title 为 MongoDB 教程 一条数据
db.col.remove({'title':'MongoDB 教程'},1)
修改
// ---------------------修改--------------------------------
// db.collection.update( criteria, objNew, upsert, multi )
// update()函数接受以下四个参数:
// criteria : update的查询条件,类似sql update查询内where后面的。
// objNew : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
// upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
// multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
document=({"user_id" : "MNOPBWN","password" :"MNOPBWN" ,"date_of_join" : "16/10/2010"
,"education" :"M.C.A." , "profession" : "CONSULTANT","interest" : "MUSIC","community_name" :["MODERN MUSIC",
"CLASSICAL MUSIC","WESTERN MUSIC"],"community_moder_id" : ["MR. BBB","MR. JJJ","MR MMM"],"community_members" :
[500,200,1500],"friends_id" : ["MMM123","NNN123","OOO123"],"ban_friends_id" :["BAN123","BAN456","BAN789"]});
db.userdetails.insert(document)
// 切记:不要有空格
db.userdetails.insert({"user_id" : "QRSTBWN","password" :"QRSTBWN" ,"date_of_join" : "17/10/2010" ,"education" :"M.B.A." , "profession" : "MARKETING","interest" : "MUSIC","community_name" :["MODERN MUSIC", "CLASSICAL MUSIC","WESTERN MUSIC"],"community_moder_id" : ["MR. BBB","MR. JJJ","MR MMM"],"community_members" : [500,200,1500],"friends_id" :["MMM123","NNN123","OOO123"],"ban_friends_id" :["BAN123","BAN456","BAN789"]});
db.userdetails.find()
db.userdetails.update({"user_id" : "QRSTBWN"},{"user_id" : "QRSTBWN","password" :"NEWPASSWORD" ,"date_of_join" : "17/10/2010" ,"education" :"M.B.A." , "profession" : "MARKETING","interest" : "MUSIC","community_name" :["MODERN MUSIC", "CLASSICAL MUSIC","WESTERN MUSIC"],"community_moder_id" : ["MR. BBB","MR. JJJ","MR MMM"],"community_members" : [500,200,1500],"friends_id" : ["MMM123","NNN123","OOO123"],"ban_friends_id" :["BAN123","BAN456","BAN789"]});
// 这样子修改的数据除了user_id 和 password 有数据,其余为空
db.userdetails.update({"user_id" : "QRSTBWN"},{"user_id" : "QRSTBWN","password" :"NEWPASSWORDs"});
db.test0.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );
// -----------------------------------------------------
查询
// ------------------------查询-----------------------------
// 查看数据
db.col.find()
// pretty() 方法以格式化的方式来显示所有文档
db.col.find().pretty()
// 只返回一个文档
db.col.findOne()
AND OR 查询
// AND OR 查询
// WHERE by='w3cschool' AND title='MongoDB 教程'
db.col.find({"by":"w3cschool", "title":"MongoDB 教程"}).pretty()
// WHERE by='w3cschool' OR title='MongoDB 教程'
db.col.find({$or:[{"by":"w3cschool"},{"title": "MongoDB 教程"}]}).pretty()
// where likes>50 AND (by = 'w3cschool' OR title = 'MongoDB 教程')
db.col.find({"likes": {$gt:50}, $or: [{"by": "w3cschool"},{"title": "MongoDB 教程"}]}).pretty()
条件查询
// (>) 大于 - $gt
// (<) 小于 - $lt
// (>=) 大于等于 - $gte
// (<= ) 小于等于 - $lte
// 插入测试数据
// 清空集合 "col" 的数据
db.col.remove({})
db.col.insert({
title: 'PHP 教程',
description: 'PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。',
by: 'w3cschool',
url: 'http://www.w3cschool.cn',
tags: ['php'],
likes: 200
})
db.col.insert({title: 'Java 教程',
description: 'Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。',
by: 'w3cschool',
url: 'http://www.w3cschool.cn',
tags: ['java'],
likes: 150
})
db.col.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'w3cschool',
url: 'http://www.w3cschool.cn',
tags: ['mongodb'],
likes: 100
})
db.col.find()
db.col.find({"likes" : {$gt : 100}})
// 获取"col"集合中 "likes" 大于100,小于 200 的数据
db.col.find({likes : {$lt :200, $gt : 100}})
分页查询
// 分页 limit()
db.col.find({"title":"PHP 教程"}).limit(2)
// 注:如果你们没有指定limit()方法中的参数则显示集合中的所有数据。
db.col.find({"by":"w3cschool", "title":"MongoDB 教程"}).pretty().limit(1)
// skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数 默认为0
db.col.find({"title":"PHP 教程"}).limit(2).skip(3)
排序查询
// sort() 排序 1 为升序排列(默认),而-1是用于降序排列
db.col.find().sort({"likes":1})
创建索引
// ensureIndex() 创建索引 1为指定按升序创建索引,降序来创建索引指定为-1
db.mycol.ensureIndex({"title":1})
聚合查询
// aggregate() 聚合 统计相同的title的数量
db.col.aggregate([{$group:{_id:"$title",num_likes:{$sum:1}}}])
监控命令
// mongo监控命令 进入到你安装的MongoDB目录下的bin目录 打开cmd窗口
// mongostat
// 状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。
// mongotop
// 用来跟踪一个MongoDB的实例,查看哪些大量的时间花费在读取和写入数据。 mongotop提供每个集合的水平的统计数据。默认情况下,mongotop返回值的每一秒。