MongoDB常用命令小结
MongoDB常用命令小结
发布时间:2016-12-28 来源:查字典编辑
摘要:MongoDB常用命令:超级用户相关:useadmin#增加或修改用户密码db.addUser(ixigua,'pwd')#查看用户列表db...

MongoDB常用命令:

超级用户相关:

use admin

#增加或修改用户密码

db.addUser(ixigua,'pwd')

#查看用户列表

db.system.users.find()

#用户认证

db.auth(ixigua,'pwd')

#删除用户

db.removeUser('mongodb')

#查看所有用户

show users

#查看所有数据库

show dbs

#查看所有的collection

show collections

#查看各collection的状态

db.printCollectionStats()

#查看主从复制状态

db.printReplicationInfo()

#修复数据库

db.repairDatabase()

#设置记录profiling,0=off 1=slow 2=all

db.setProfilingLevel(1)

#查看profiling

show profile

#拷贝数据库

db.copyDatabase('mail_addr','mail_addr_tmp')

#删除collection

db.mail_addr.drop()

#删除当前的数据库

db.dropDatabase()

客户端连接:

/usr/local/mongodb/bin/mongo 8.8.88/ixigualib -u ixigua -p 'pwd'

增删改:

#存储嵌套的对象

db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]})

#存储数组对象

db.user_addr.save({'Uid':'yushunzhi@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']})

#根据query条件修改,如果不存在则插入,允许修改多条记录

db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true)

#删除yy=5的记录

db.foo.remove({'yy':5})

#删除所有的记录

db.foo.remove()

索引:

#增加索引:1(ascending),-1(descending)

db.things.ensureIndex({firstname: 1, lastname: 1}, {unique: true});

#索引子对象

db.user_addr.ensureIndex({'Al.Em': 1})

#查看索引信息

db.deliver_status.getIndexes()

db.deliver_status.getIndexKeys()

#根据索引名删除索引

db.user_addr.dropIndex('Al.Em_1')

查询:

#查找所有

db.foo.find()

#查找一条记录

db.foo.findOne()

#根据条件检索10条记录

db.foo.find({'msg':'Hello 1'}).limit(10)

#sort排序

db.deliver_status.find({'From':'ixigua@sina.com'}).sort({'Dt',-1})

db.deliver_status.find().sort({'Ct':-1}).limit(1)

#count操作

db.user_addr.count()

#distinct操作

db.foo.distinct('msg')

#>操作

db.foo.find({"timestamp": {"$gte" : 2}})

#子对象的查找

db.foo.find({'address.city':'beijing'})

管理:

#查看collection数据的大小

db.deliver_status.dataSize()

#查看colleciont状态

db.deliver_status.stats()

#查询所有索引的大小

db.deliver_status.totalIndexSize()

#查看当前所使用的数据库

db

作者 mahout

以下是其他网友的补充:

库操作

show dbs查看系统中的数据库列表

注:数据库中必须有内容才会显示

db = db.getSiblingDB("<数据库名>")

or

use <数据库名>

切换当前数据库

注:如果数据库不存在,则创建数据库

任何一种方法都是可以的,并把db值设置为指定的数据库,然后可以使用db来管理新的当前数据库。

db.dropDatabase()删除当前数据库

注:删除当前数据库,然后在不改变当前数据库的情况下使用句柄创建一个集合,则被删的数据库会被重新创建。

db.copyDatabase("<当前数据库名>", "<备份库名>", [hostname])

复制数据库,创建除名称外一模一样的数据库

注:可选的hostname参数指定当前库MongDB服务器主机名。

db显示当前数据库

集合操作

show collections查看当前数据库中包含的集合的名单

db.createCollection("<集合名>", {<options>}) 创建集合

注:参数二可选对象

属性 说明

capped 布尔,如果为true,表示该集合是一个封顶集合,它不会增长到比size属性指定最大规模更大。默认:false

autoIndexID布尔,如果为true,表明自动为添加到集合的每个文档创建一个_id字段并实现该字段上索引。这对封顶集合应该是false。默认true

size 字节单位大小,用于封顶集合。最旧的文件被删除,以腾出空间给新文件

max在封顶集合中允许的最大文档数。最旧的文件被删除,以腾出空间给新文件

db.<集合名>.drop()

or

coll = db.getCollection("<集合名>")

coll.drop()删除集合

db.<集合名>.find()

or

coll = db.getCollection("<集合名>")

coll.find(query)在集合中查看文档

注:可选query参数指定包含字段和值的查询文档与集合中的文档匹配,并返回匹配内容。例:coll.find({speed:"120mph"})

db.<集合名>.insert({})

or

db.<集合名>.save({})

在集合中插入文档数据(如果集合不存在会被创建,save也是)

将同类数据视为一个集合

集合中数据具体相似的属性

集合是一个容器,内部可放置N多数据

可以对这些数据进行筛选、排序

db.<集合名>.remove({筛选条件},false)

从集合中删除文档 参数1:筛选条件。参数2:可选参数,是否单行删除,默认false。

db.<集合名>.save({ "_id" : ObjectId("57e26b294a655f35e13d6f5d"), "name" : "hung", "age" : 18})

or

db.<集合名>.update( {筛选条件},{$set:{"name":"jin","up":true}},

{upsert:true,multi:true})更新集合中的文档

参数一:更新文档的条件

参数二:更新时使用的更新运算符,以及更新属性

常用运算符:$inc递归该字段值。$set设置字段值。$push将一个条目推送数组。$rename重命名字段。等··

参数三:可选,两个属性。multi(匹配到的所有文档更新,默认false只更新第一条)和upsert(若没有找到匹配项,创建一个,默认false不创建),布尔。

*******************************************************************

db.<集合名>.pretty()整齐的显示查询文档

db.<集合名>.find().sort({属性:1/-1})按指定的属性排序

1是正序,-1:倒序

db.<集合名>.find().limit(n)显示前n条数据

db.<集合名>.find().skip(n)跳过前n条数据

条件查找

db.<集合名>.find({属性:value})属性==值

db.<集合名>.find({属性:{运算符:value}})

运算符:

$lt 小于

$lte 小于等于

$gt 大于

$gte 大于等于

$ne 不等于

对同一属性使用两个运算符

db.<集合名>.find({ 属性: { 运算符1:value, 运算符2:value } })

如:db.<集合名>.find({ age: { $gt: 6, $lt: 16 } })

对不同属性同时限定条件(两个条件同时成立)

db.<集合名>.find( {属性1: { 运算符:value }, 属性2: { 运算符:value }})

或条件

db.<集合名>.find({

$or: [

{属性: value},

{属性: value},

{属性: value}

]

})

使用函数筛选数据

db.<集合名>.find({

$where: function(){

return true/false

}

})

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新MongoDB学习
热门MongoDB学习
编程开发子分类