MongoDB常用命令
Mongodb启动命令mongod参数说明

Mongodb启动命令mongod参数说明1. MongoDB的获取和安装(2)解压 mongodb-win32-i386-1.8.1(3)创建数据存放⽂件夹,mongodb默认的数据⽬录 /data/dbC:/> mkdir /dataC:/> mkdir /data/db(4)运⾏ MongoDBmongod.exe - 数据库的服务器端,相当于mysql的 mysqld命令,启动服务器端mongo.exe - 数据库的客户端,相当于mysql的mysql命令,打开管理控制台启动服务mongod.exe --dbpath F:/DataBase/MongoDB/db/--dbpath 数据⽂件存放路径--port 数据服务端⼝C:/> cd /my_mongo_dir/binC:/my_mongo_dir/bin > mongod //启动mongod 服务器,默认的数据库路径 /data/db,端⼝27071启动客户端mongo.exe cclovecclove 所连接的数据库名称C:/> cd /my_mongo_dir/binC:/my_mongo_dir/bin> mongo2. 熟悉MongoDB的数据操作语句,类sql数据库操作语法mongo --pathdb.AddUser(username,password) 添加⽤户db.auth(usrename,password) 设置数据库连接验证db.cloneDataBase(fromhost) 从⽬标服务器克隆⼀个数据库mandHelp(name) returns the help for the commanddb.copyDatabase(fromdb,todb,fromhost) 复制数据库fromdb---源数据库名称,todb---⽬标数据库名称,fromhost---源数据库服务器地址db.createCollection(name,{size:3333,capped:333,max:88888}) 创建⼀个数据集,相当于⼀个表db.currentOp() 取消当前库的当前操作db.dropDataBase() 删除当前数据库db.eval(func,args) run code server-sidedb.getCollection(cname) 取得⼀个数据集合,同⽤法:db['cname'] or amedb.getCollenctionNames() 取得所有数据集合的名称列表db.getLastError() 返回最后⼀个错误的提⽰消息db.getLastErrorObj() 返回最后⼀个错误的对象db.getMongo() 取得当前服务器的连接对象get the server connection objectdb.getMondo().setSlaveOk() allow this connection to read from then nonmaster membr of a replica pair db.getName() 返回当操作数据库的名称db.getPrevError() 返回上⼀个错误对象db.getProfilingLevel() ?什么等级db.getReplicationInfo() ?什么信息db.getSisterDB(name) get the db at the same server as this onewdb.killOp() 停⽌(杀死)在当前库的当前操作db.printCollectionStats() 返回当前库的数据集状态db.printReplicationInfo()db.printSlaveReplicationInfo()db.printShardingStatus() 返回当前数据库是否为共享数据库db.removeUser(username) 删除⽤户db.repairDatabase() 修复当前数据库db.resetError()db.runCommand(cmdObj) run a database command. if cmdObj is a string, turns it into {cmdObj:1} db.setProfilingLevel(level) 0=off,1=slow,2=alldb.shutdownServer() 关闭当前服务程序db.version() 返回当前程序的版本信息数据集(表)操作语法db.linlin.find({id:10}) 返回linlin数据集ID=10的数据集db.linlin.find({id:10}).count() 返回linlin数据集ID=10的数据总数db.linlin.find({id:10}).limit(2) 返回linlin数据集ID=10的数据集从第⼆条开始的数据集db.linlin.find({id:10}).skip(8) 返回linlin数据集ID=10的数据集从0到第⼋条的数据集db.linlin.find({id:10}).limit(2).skip(8) 返回linlin数据集ID=1=的数据集从第⼆条到第⼋条的数据db.linlin.find({id:10}).sort() 返回linlin数据集ID=10的排序数据集db.linlin.findOne([query]) 返回符合条件的⼀条数据db.linlin.getDB() 返回此数据集所属的数据库名称db.linlin.getIndexes() 返回些数据集的索引信息db.linlin.group({key:...,initial:...,reduce:...[,cond:...]})db.linlin.mapReduce(mayFunction,reduceFunction,<optional params>)db.linlin.remove(query) 在数据集中删除⼀条数据db.linlin.renameCollection(newName) 重命名些数据集名称db.linlin.save(obj) 往数据集中插⼊⼀条数据db.linlin.stats() 返回此数据集的状态db.linlin.storageSize() 返回此数据集的存储⼤⼩db.linlin.totalIndexSize() 返回此数据集的索引⽂件⼤⼩db.linlin.totalSize() 返回些数据集的总⼤⼩db.linlin.update(query,object[,upsert_bool]) 在此数据集中更新⼀条数据db.linlin.validate() 验证此数据集db.linlin.getShardVersion() 返回数据集共享版本号db.linlin.find({'name':'foobar'}) select * from linlin where name='foobar'db.linlin.find() select * from linlindb.linlin.find({'ID':10}).count() select count(*) from linlin where ID=10db.linlin.find().skip(10).limit(20) 从查询结果的第⼗条开始读20条数据 select * from linlin limit 10,20 ----------mysqldb.linlin.find({'ID':{$in:[25,35,45]}}) select * from linlin where ID in (25,35,45)db.linlin.find().sort({'ID':-1}) select * from linlin order by ID descdb.linlin.distinct('name',{'ID':{$lt:20}}) select distinct(name) from linlin where ID<20db.linlin.group({key:{'name':true},cond:{'name':'foo'},reduce:function(obj,prev){prev.msum+=obj.marks;},initial:{msum:0}}) select name,sum(marks) from linlin group by namedb.linlin.find('this.ID<20',{name:1}) select name from linlin where ID<20db.linlin.insert({'name':'foobar','age':25}) insert into linlin ('name','age') values('foobar',25)db.linlin.insert({'name':'foobar','age':25,'email':'cclove2@'})db.linlin.remove({}) delete * from linlindb.linlin.remove({'age':20}) delete linlin where age=20db.linlin.remove({'age':{$lt:20}}) delete linlin where age<20db.linlin.remove({'age':{$lte:20}}) delete linlin where age<=20db.linlin.remove({'age':{$gt:20}}) delete linlin where age>20db.linlin.remove({'age':{$gte:20}}) delete linlin where age>=20db.linlin.remove({'age':{$ne:20}}) delete linlin where age!=20db.linlin.update({'name':'foobar'},{$set:{'age':36}}) update linlin set age=36 where name='foobar'db.linlin.update({'name':'foobar'},{$inc:{'age':3}}) update linlin set age=age+3 where name='foobar'官⽅提供的操作语句对照表:上⾏:SQL 操作语句下⾏:Mongo 操作语句CREATE TABLE USERS (a Number, b Number)db.createCollection("mycoll")INSERT INTO USERS VALUES(1,1)ers.insert({a:1,b:1})SELECT a,b FROM usersers.find({}, {a:1,b:1})SELECT * FROM usersers.find()SELECT * FROM users WHERE age=33ers.find({age:33})SELECT a,b FROM users WHERE age=33ers.find({age:33}, {a:1,b:1})SELECT * FROM users WHERE age=33 ORDER BY name ers.find({age:33}).sort({name:1})SELECT * FROM users WHERE age>33ers.find({'age':{$gt:33}})})SELECT * FROM users WHERE age<33ers.find({'age':{$lt:33}})})SELECT * FROM users WHERE name LIKE "%Joe%" ers.find({name:/Joe/})SELECT * FROM users WHERE name LIKE "Joe%"ers.find({name:/^Joe/})SELECT * FROM users WHERE age>33 AND age<=40 ers.find({'age':{$gt:33,$lte:40}})})SELECT * FROM users ORDER BY name DESCers.find().sort({name:-1})SELECT * FROM users WHERE a=1 and b='q'ers.find({a:1,b:'q'})SELECT * FROM users LIMIT 10 SKIP 20ers.find().limit(10).skip(20)SELECT * FROM users WHERE a=1 or b=2ers.find( { $or : [ { a : 1 } , { b : 2 } ] } )SELECT * FROM users LIMIT 1ers.findOne()SELECT DISTINCT last_name FROM usersers.distinct('last_name')SELECT COUNT(*y) FROM usersers.count()SELECT COUNT(*y) FROM users where AGE > 30ers.find({age: {'$gt': 30}}).count()SELECT COUNT(AGE) from usersers.find({age: {'$exists': true}}).count()CREATE INDEX myindexname ON users(name)ers.ensureIndex({name:1})CREATE INDEX myindexname ON users(name,ts DESC) ers.ensureIndex({name:1,ts:-1})EXPLAIN SELECT * FROM users WHERE z=3ers.find({z:3}).explain()UPDATE users SET a=1 WHERE b='q'ers.update({b:'q'}, {$set:{a:1}}, false, true)UPDATE users SET a=a+2 WHERE b='q'ers.update({b:'q'}, {$inc:{a:2}}, false, true)DELETE FROM users WHERE z="abc"ers.remove({z:'abc'});Mongodb启动命令mongod参数说明--quiet# 安静输出--port arg# 指定服务端⼝号,默认端⼝27017--bind_ip arg# 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP--logpath arg# 指定MongoDB⽇志⽂件,注意是指定⽂件不是⽬录--logappend# 使⽤追加的⽅式写⽇志--pidfilepath arg# PID File 的完整路径,如果没有设置,则没有PID⽂件--keyFile arg# 集群的私钥的完整路径,只对于Replica Set 架构有效--unixSocketPrefix arg# UNIX域套接字替代⽬录,(默认为 /tmp)--fork# 以守护进程的⽅式运⾏MongoDB,创建服务器进程--auth# 启⽤验证--cpu# 定期显⽰CPU的CPU利⽤率和iowait--dbpath arg# 指定数据库路径--diaglog arg# diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads--directoryperdb# 设置每个数据库将被保存在⼀个单独的⽬录--journal# 启⽤⽇志选项,MongoDB的数据操作将会写⼊到journal⽂件夹的⽂件⾥--journalOptions arg# 启⽤⽇志诊断选项--ipv6# 启⽤IPv6选项--jsonp# 允许JSONP形式通过HTTP访问(有安全影响)--maxConns arg# 最⼤同时连接数默认2000--noauth# 不启⽤验证--nohttpinterface# 关闭http接⼝,默认关闭27018端⼝访问--noprealloc# 禁⽤数据⽂件预分配(往往影响性能)--noscripting# 禁⽤脚本引擎--notablescan# 不允许表扫描--nounixsocket# 禁⽤Unix套接字监听--nssize arg (=16)# 设置信数据库.ns⽂件⼤⼩(MB)--objcheck# 在收到客户数据,检查的有效性,--profile arg# 档案参数 0=off 1=slow, 2=all--quota# 限制每个数据库的⽂件数,设置默认为8--quotaFiles arg# number of files allower per db, requires --quota--rest# 开启简单的rest API--repair# 修复所有数据库run repair on all dbs--repairpath arg# 修复库⽣成的⽂件的⽬录,默认为⽬录名称dbpath--slowms arg (=100)# value of slow for profile and console log--smallfiles# 使⽤较⼩的默认⽂件--syncdelay arg (=60)# 数据写⼊磁盘的时间秒数(0=never,不推荐)--sysinfo# 打印⼀些诊断系统信息--upgrade# 如果需要升级数据库* Replicaton 参数--fastsync# 从⼀个dbpath⾥启⽤从库复制服务,该dbpath的数据库是主库的快照,可⽤于快速启⽤同步--autoresync# 如果从库与主库同步数据差得多,⾃动重新同步,--oplogSize arg# 设置oplog的⼤⼩(MB)* 主/从参数--master# 主库模式--slave# 从库模式--source arg# 从库端⼝号--only arg# 指定单⼀的数据库复制--slavedelay arg# 设置从库同步主库的延迟时间* Replica set(副本集)选项:--replSet arg# 设置副本集名称--replSet arg# 设置副本集名称* Sharding(分⽚)选项--configsvr# 声明这是⼀个集群的config服务,默认端⼝27019,默认⽬录/data/configdb--shardsvr# 声明这是⼀个集群的分⽚,默认端⼝27018--noMoveParanoia# 关闭偏执为moveChunk数据保存# 上述参数都可以写⼊ mongod.conf 配置⽂档⾥例如:dbpath = /data/mongodblogpath = /data/mongodb/mongodb.loglogappend = trueport = 27017fork = trueauth = truee.g:./mongod -shardsvr -replSet shard1 -port 16161 -dbpath /data/mongodb/data/shard1a -oplogSize 100 -logpath/data/mongodb/logs/shard1a.log -logappend -fork -rest----------------------------------------------------------------------------------MonoDB shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是⽤JavaScript脚本完成操作的。
MongoDB的基本使用方法

MongoDB的基本使用方法MongoDB是一种NoSQL数据库,它非常适合处理大量结构松散的数据。
相较于传统的关系型数据库,它更加灵活,易于扩展。
本文将分为以下几个章节,介绍MongoDB的基本使用方法。
一、安装MongoDBMongoDB的官方网站提供了多种操作系统的安装包,用户可以选择适合自己的版本进行下载。
安装完成之后,需要配置MongoDB的环境变量,方便在终端中直接使用MongoDB命令。
二、启动MongoDB在终端输入"mongod"命令来启动MongoDB,并且默认会使用"/data/db"作为默认数据存储路径。
如果需要修改默认的数据存储路径,可以在启动时添加"--dbpath"参数,例如"mongod --dbpath/user/local/mongodb_data"。
三、连接MongoDB在终端中输入"mongo"命令可以进行与MongoDB的连接,并且默认连接到本地的MongoDB。
如果需要连接到远程的MongoDB,需要通过"mongo host:port"命令进行连接,其中host为MongoDB的IP地址,port为其端口号。
四、数据的增删改查MongoDB是一种文档型数据库,其数据以文档形式进行存储。
一条文档就是一个键值对集合,文档可以包含嵌套的文档,以及数组类型的值。
MongoDB提供了丰富的CRUD操作来实现数据的增删改查。
1.插入数据MongoDB中,可以通过insert()或者save()方法来插入一条数据。
例如:ers.insert({name:"Tom",age:18});或者:ers.save({_id:1,name:"Tom",age:18});其中,insert()和save()操作的区别在于,当插入数据的唯一标识已经存在时,insert()方法会直接报错,而save()方法则会将数据替换。
请列举几个常用的mongodb操作命令

请列举几个常用的mongodb操作命令
1. 插入数据命令
`db.collection.insertOne(document)`:向指定的集合中插入一个文档。
2. 查询数据命令
`db.collection.find(query, projection)`:查询指定集合中符合条件的文档。
3. 更新数据命令
`db.collection.updateOne(filter, update, options)`:更新指定集合中符合条件的第一个文档。
4. 删除数据命令
`db.collection.deleteOne(filter)`:删除指定集合中符合条件的第一个文档。
5. 创建索引命令
`db.collection.createIndex(keys, options)`:在指定集合中创建索引。
6. 聚合数据命令
`db.collection.aggregate(pipeline)`:执行聚合操作,根据指定条件对数据进行聚合操作。
7. 删除集合命令
`db.collection.drop()`:删除指定集合及其所有文档。
8. 查看集合命令
`show collections`:显示当前数据库中的所有集合。
9. 切换数据库命令
`use database`:切换当前使用的数据库到指定数据库。
10. 查看数据库列表命令
`show dbs`:显示当前MongoDB服务器上的所有数据库。
请注意,以上命令中的"collection"和"database"需要替换为实际使用的集合和数据库名称。
mongo的常用运维指令

mongo的常用运维指令
- `use admin`:切换到管理员数据库。
- `db.runCommand({closeAllDatabases: 1})`:在线释放内存,该命令在 3.2 版本中已经被移除。
- `rs.status()`:查询复制集状态。
- `db.stats()`:查询指定库的状态,包括内存和磁盘的使用情况统计。
- `.stats()`:查询指定集合的具体信息。
- `db.version()`:查看数据库版本。
- `db.getCollectionNames()`:列出数据库中的所有集合。
- 集合数据的导出/导入。
- 数据库的备份与还原。
- `db.serverStatus()`:查看服务器状态。
这些指令可以帮助你管理 MongoDB 数据库,以确保其正常运行。
在使用这些指令时,请确保你对 MongoDB 有足够的了解,并严格按照官方文档中的指导进行操作。
mogdb 语法

MogDB是一个基于MongoDB的数据库管理系统,它使用一些基本的SQL语法来操作数据库。
以下是一些常用的MogDB语法:
1. 显示所有数据库:SHOW DATABASES;
2. 切换/创建数据库:USE DATABASE database_name;
3. 显示当前位置所在数据库:SHOW DATABASE;
4. 删除数据库:DROP DATABASE;
5. 显示当前数据库的集合:SHOW COLLECTIONS;
6. 创建集合:CREATE COLLECTION collection_name;
7. 删除集合:DROP COLLECTION collection_name;
8. 添加文档(数据):INSERT INTO collection_name (document_name) VALUES (value);
9. 查询文档:SELECT * FROM collection_name WHERE condition;
10. 更新文档:UPDATE collection_name SET field1=value1, field2=value2 WHERE condition;
11. 删除文档:DELETE FROM collection_name WHERE condition;
以上是一些基本的MogDB语法,可以帮助你开始操作MongoDB 数据库。
然而,MogDB还有一些高级功能,例如数据导入/导出、索引管理、权限管理等,你可以查阅MogDB的官方文档以获取更多信息。
mongodb isodate 范围查询命令

mongodb isodate 范围查询命令MongoDB是一种高性能、开源、面向文档的NoSQL数据库,使用JSON风格的文档存储数据。
其中,ISODate是MongoDB中用于存储日期和时间的数据类型。
在进行范围查询时,可以使用各种操作符来对ISODate进行比较。
本文将介绍在MongoDB中使用ISODate进行范围查询的命令,包括以下几个方面:基本用法、操作符和示例。
二、基本用法MongoDB中使用ISODate进行范围查询的基本语法如下所示:db.collection.find({field:{gt:startDate, lt:endDate}})其中,db.collection表示要进行查询的集合名称,field表示要比较的字段名,gt和lt分别表示大于和小于,startDate和endDate分别表示查询范围的开始和结束日期。
三、操作符在MongoDB中,可以使用多个操作符来进行ISODate的范围查询。
以下是常用的操作符列表:1. gt:大于用法示例:db.collection.find({field:{gt:startDate}})2. gte:大于等于用法示例:db.collection.find({field:{gte:startDate}})3. lt:小于用法示例:db.collection.find({field:{lt:endDate}})4. lte:小于等于用法示例:db.collection.find({field:{lte:endDate}})5. ne:不等于用法示例:db.collection.find({field:{ne:date}})6. in:在指定范围内用法示例:db.collection.find({field:{in:[startDate, endDate]}})7. nin:不在指定范围内用法示例:db.collection.find({field:{nin:[startDate, endDate]}})四、示例以下是一些使用ISODate进行范围查询的示例:1. 查询指定日期之后的文档假设有一个集合名为"orders",其中包含字段"created_at"用于存储订单的创建时间。
mongo基本命令

mongo基本命令以下是MongoDB常用的基本命令:1. `use <数据库名称>`:切换到指定的数据库。
2. `show dbs`:显示当前MongoDB服务器上的所有数据库。
3. `db`:显示当前正在使用的数据库。
4. `db.dropDatabase()`:删除当前正在使用的数据库。
5. `db.<集合名称>.find()`:查找指定集合中的所有文档。
6. `db.<集合名称>.findOne()`:查找指定集合中的第一个文档。
7. `db.<集合名称>.insertOne(<文档>)`:向指定集合中插入单个文档。
8. `db.<集合名称>.insertMany(<文档数组>)`:向指定集合中插入多个文档。
9. `db.<集合名称>.updateOne(<查询条件>, <更新操作>)`:更新指定集合中符合查询条件的第一条文档。
10. `db.<集合名称>.updateMany(<查询条件>, <更新操作>)`:更新指定集合中符合查询条件的所有文档。
11. `db.<集合名称>.deleteOne(<查询条件>)`:删除指定集合中符合查询条件的第一个文档。
12. `db.<集合名称>.deleteMany(<查询条件>)`:删除指定集合中符合查询条件的所有文档。
13. `db.<集合名称>.createIndex(<索引字段>)`:为指定集合创建索引。
14. `db.<集合名称>.drop()`:删除指定集合。
这些是MongoDB的一些基本命令,可以帮助您开始使用MongoDB进行数据库操作。
mongodb的常用命令

mongodb的常用命令MongoDB是一款非关系型数据库,采用BSON格式存储数据,具有高可扩展性和灵活性。
在使用MongoDB时,常用的命令有很多,下面就介绍一些常用的MongoDB命令。
1. show dbs该命令用于显示当前MongoDB实例中所有的数据库。
在MongoDB中,一个实例中可以包含多个数据库,每个数据库可以包含多个集合。
使用该命令可以查看当前实例中有哪些数据库。
2. use db_name该命令用于切换数据库。
在MongoDB中,切换数据库的方式与关系型数据库不同,需要使用use命令进行切换。
例如,use test可以切换到名为test的数据库。
3. show collections该命令用于显示当前数据库中所有的集合。
在MongoDB中,一个数据库可以包含多个集合,使用该命令可以查看当前数据库中有哪些集合。
4. db.collection.find()该命令用于查询集合中的数据。
在MongoDB中,可以使用db.collection.find()命令查询集合中的数据。
例如,ers.find()可以查询名为users的集合中的所有数据。
5. db.collection.insert()该命令用于向集合中插入数据。
在MongoDB中,可以使用db.collection.insert()命令向集合中插入数据。
例如,ers.insert({name:"Tom",age:20})可以向名为users的集合中插入一条数据,该数据包含name和age两个字段。
6. db.collection.update()该命令用于更新集合中的数据。
在MongoDB中,可以使用db.collection.update()命令更新集合中的数据。
例如,ers.update({name:"Tom"},{$set:{age:30}})可以将名为Tom 的用户的年龄更新为30岁。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MongoDB由C++写就,其名字来自hu mongo us这个单词的中间部分,从名字可见其野心所在就是海量数据的处理。
关于它的一个最简洁描述为:scalable, high-performance, open source, schema-free, document-oriented database。
MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身。
安装及使用:
首先在Ubuntu上安装MongoDB:
1. 解压文件.
$ tar -xvf mongodb-linux-i686-1.4.3.tgz
2.为MongoDB创建数据目录,默认情况下它将数据存储在/data/db
$ sudo mkdir -p /data/db/
$ sudo chown `id -u` /data/db
3. 启动MongoDB服务.
$ cd mongodb-linux-i686-1.4.3/bin
$ ./mongod
4. 打开另一个终端,并确保你在MongoDB的bin目录,输入如下命令.
$ ./mongo
1. 超级用户相关:
1. #进入数据库admin
use admin
2. #增加或修改用户密码
db.addUser('name','pwd')
3. #查看用户列表
ers.find()
4. #用户认证
db.auth('name','pwd')
5. #删除用户
db.removeUser('name')
6. #查看所有用户
show users
7. #查看所有数据库
show dbs
8. #查看所有的collection
show collections
9. #查看各collection的状态
db.printCollectionStats()
10. #查看主从复制状态
db.printReplicationInfo()
11. #修复数据库
db.repairDatabase()
12. #设置记录profiling,0=off 1=slow 2=all
db.setProfilingLevel(1)
13. #查看profiling
show profile
14. #拷贝数据库
db.copyDatabase('mail_addr','mail_addr_tmp')
15. #删除collection
db.mail_addr.drop()
16. #删除当前的数据库
db.dropDatabase()
2. 增删改
1. #存储嵌套的对象
db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]})
2. #存储数组对象
er_addr.save({'Uid':'yushunzhi@','Al':['test-1@','test-2@']})
3. #根据query条件修改,如果不存在则插入,允许修改多条记录
db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true)
4. #删除yy=5的记录
db.foo.remove({'yy':5})
5. #删除所有的记录
db.foo.remove()
3. 索引
1. #增加索引:1(ascending),-1(descending)
2. db.foo.ensureIndex({firstname: 1, lastname: 1}, {unique: true});
3. #索引子对象
4. er_addr.ensureIndex({'Al.Em': 1})
5. #查看索引信息
6. db.foo.getIndexes()
7. db.foo.getIndexKeys()
8. #根据索引名删除索引
9. er_addr.dropIndex('Al.Em_1')
4. 查询
1. #查找所有
2. db.foo.find()
3. #查找一条记录
4. db.foo.findOne()
5. #根据条件检索10条记录
6. db.foo.find({'msg':'Hello 1'}).limit(10)
7. #sort排序
8. db.deliver_status.find({'From':'ixigua@'}).sort({'Dt',-1})
9. db.deliver_status.find().sort({'Ct':-1}).limit(1)
10. #count操作
11. er_addr.count()
12. #distinct操作,查询指定列,去重复
13. db.foo.distinct('msg')
14. #”>=”操作
15. db.foo.find({"timestamp": {"$gte" : 2}})
16. #子对象的查找
17. db.foo.find({'address.city':'beijing'})
5. 管理
1. #查看collection数据的大小
2. db.deliver_status.dataSize()
3. #查看colleciont状态
4. db.deliver_status.stats()
5. #查询所有索引的大小
6. db.deliver_status.totalIndexSize()
5. advanced queries:高级查询
条件操作符
$gt : >
$lt : <
$gte: >=
$lte: <=
$ne : !=、<>
$in : in
$nin: not in
$all: all
$not: 反匹配(1.3.3及以上版本)。