Mongodb基本查询及监控

基本查看:

show dbs;#查看所有的数据库
show collectios;#查看所有的集合
use db;切换数据库,如果不存在的话就创建
db.dropDatabase();#删除数据库

增删改查:

db.lhy.insert({"name":"林青霞","age":"18","sex":"nan"});
db.zxy.insert({"username":"lqx","password":"123456"});

db.zxy.update({"username":"zxy"},{"username":"lhy","password":"123456"});
db.zxy.insert({"name":"lhy","age":"18","sex":"nv"});
db.zxy.update({"age":"18"},{"age":19});
db.zxy.update({"age":"18"},{$set:{"age":19}}); #如果要修改指定的key,就用$set
db.zxy.remove({});#删除整个集合里面的数据
db.zxy.remove({"age":19,"name":"xxx"});#删除指定的数据
db.zxy.remove({"age":"18"});
db.zxy.remove({"age":"18"},2);#删除指定的条数
db.zxy.find({"age":18,"name":"sex"});#查询指定的数据
db.zxy.find();#查看所有的;
db.zxy.find({"name":"lqx"});#查看指定的数据;
db.zxy.find({"name":"lqx","age":18});#and
db.zxy.find().pretty();#格式化数据
db.zxy.find().count();#查看行数
db.zxy.find().sort({"name":-1})#排序,1是升序,-1是降序
db.zxy.find({$or:[{"sex":"nan"},{"name":"林青霞"}]}).pretty(); #or操作
db.zxy.find({"age":{$gte:20}}).pretty();#做笔记操作,大于等于20的
$gte:大于等于
$gt:大于
$lte:小于等于
$lt:小于

profile(慢查询):
db.getProfilingLevel()#获取当然profile的级别
db.setProfilingLevel(1,2000)#记录超过2s
db.setProfilingLevel(2);
0:不开启
1:记录慢命令,默认为大于100ms
2:记录所有命令
db.system.profie.find();#查询慢查询的记录
ts: 该命令在何时执行
op: 操作类型
query: 本命令的详细信息
responseLength: 返回结果集的大小
ntoreturn: 本次查询实际返回的结果集
millis: 该命令执行耗时,以毫秒记

索引:
db.lhy.ensureIndex({"name":1})#创建一个普通索引
db.lhy.ensureIndex({"name":1,"age":1});#多列索引
db.lhy.ensureIndex({"name":1},{"unique":true});#唯一索引
db.system.indexes.find();#查看索引
db.collections.getIndexes();#查看当前集合中的索引
db.lhy.dropIndex({"name":1});#删除指定索引
db.user.dropIndexes();删除所有的索引

explain(解析):
db.lhy.find({"name":"赵小静"}).explain();#解析查询语句
millis: 耗时(毫秒
indexBounds: 所使用的索引,如果这个字段没有的话,根本就没有使用索引

时间: 2024-10-08 16:16:32

Mongodb基本查询及监控的相关文章

mongodb 模糊查询以及$type使用

mongodb 模糊查询以及$type使用 2012-09-11 14:13:30|  分类: mongodb |  标签: |举报 |字号大中小 订阅 最近有一监控业务,由于数据采集到非数字内容,导致监控图表无法正常显示,所以要找出这部分数据,进行删除,然后开发员从源头更正插入数据库的数据,不再产生非数字内容. 下面举一个例子: 建立测试数据: for(i=1;i<=100;i++){db.test.insert({id:i,content:"test content",nam

MongoDB运行状态、性能监控,分析

转自http://tech.lezi.com/archives/290 MongoDB运行状态.性能监控,分析 Posted by neilxp on 十月 26, 2011Leave a comment (2)Go to comments 这篇文章的目的是让你知道怎么了解你正在运行的Mongdb是否健康. mongostat详解 mongostat是mongdb自带的状态检测工具,在命令行下使用.它会间隔固定时间获取mongodb的当前运行状态,并输出.如果你发现数据库突然变慢或者有其他问题的

mongodb高级查询

MongoDB 的逻辑结构是一种层次结构.主要由文档(document).集合(collection).数据库(database)这三部分组成的.逻辑结构是面向用户的用户使用MongoDB 开发应用程序使用的就是逻辑结构. MongoDB 的文档document相当于关系数据库中的一行记录. 多个文档组成一个集合collection相当于关系数据库的表. 多个集合collection逻辑上组织在一起就是数据库database. 一个MongoDB 实例支持多个数据库database. mongo

mongodb并列查询

在mongodb的查询语句中可以这么写{"a":$gt(1),"a":$lt(5)} 但这么查询出来的值会做单个条件匹配,最终结果为a大于1的集合+a小于5的集合 如果需要实现去交集,a大于1并且又小于5,就必须要用到$and函数了 { $and:[{"_id":{$gte:ObjectId("59512f800000000000000000")}}, {"_id":{$lte:ObjectId("

mongodb慢查询记录

在 MySQL中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB中是否有类似的功能呢?答案是肯定的,那就是Mongo Database Profiler.不仅有,而且还有一些比MySQL的Slow Query Log更详细的信息.它就是我们这篇文章的主题. 开启 Profiling 功能 有两种方式可以控制 Profiling 的开关和级别,第一种是直接在启动参数里直接进行设置. 启动MongoDB时加上–profile=级别 即可. 也可以在客户端调用db.setProfilin

Mongodb 条件查询

1.1 查询出所有数据的指定键(name ,age ,country) db.persons.find({},{name:1,age:1,country:1,_id:0}) 2.查询条件 2.查询条件 2.1查询出年龄在25到27岁之间的学生 db.persons.find({age: {$gte:25,$lte:27},{_id:0,age:1}) 2.2查询出所有不是韩国籍的学生的数学成绩 db.persons.find({country:{$ne:”Korea”}},{_id:0,m:1}

MongoDB各种查询操作详解

这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下 一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可以实现全部和部分查询. 1.查询全部 空的查询文档{}会匹配集合的全部内容.如果不指定查询文档,默认就是{}. 2.部分查询 3.键的筛选 键的筛选是查询时只返回自己感兴趣的键值,通过指定find的第二个参数来实现.这样可以节省传输的数据量,又能节省客户端解码文档的时间和内存消耗. 查询时,数据库所关心

mongoDB 高级查询语法

http://www.cnblogs.com/ITAres/articles/2084794.html本文参考自官方的手册:http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-ConditionalOperators%3A%3C%2C%3C%3D%2C%3E%2C%3E%3D 1 ) . 大于,小于,大于或等于,小于或等于 $gt:大于 $lt:小于 $gte:大于或等于 $lte:小于或等于 例子: db.c

Python札记 -- MongoDB模糊查询

最近在使用MongoDB的时候,遇到了使用多个关键词进行模糊查询的场景.竹风使用的是mongoengine库. 查了各种资料,最后总结出比较好用的方法.先上代码,后面进行详细说明.如下: 1 #!/usr/bin/env python 2 #coding:utf-8 3 4 import re 5 import mongoengine 6 from mongoengine import * 7 8 mongoengine.register_connection('default', 'test'