mongoDB sql操作-学习笔记(更新学习中...)

所使用的数据库软件为
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返回值的每一秒。
 











  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GG_com

1分也是爱!!!!!!!!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值