mongodb常见的命令

Mongodb常见命令

MySQL是关系型数据库 ,mongodb是非关系型数据库,是分布式文件存储的数据库用c++编写的,性能很好。Mongodb的查询语言非常强大,可以建立索引。
以下是自己在学习中总结的一些常见的命令,希望对大家有帮助!

命令含义备注
use database_name创建数据库如果数据库存在,use相当于切换数据库。如果不存在,则相当于创建一个新的数据库,且如果没有插入内容,则不会显示在数据库中,插入内容后方可显示
show dbs查看当前的所有数据库
db查看当前执行的数据库
db.items.insert({“key”:‘value’})插入数据文档内容创建的新的数据库(newDb)不再列表中,要显示数据库,需要至少插入一个文档,空的数据库是显示不出来的
db.dropDatabase()删除数据库删除现有的数据库
db.createCollection(name,options)创建mongodb里面的集合name----string-----要创建数据库的名称 options-----Document-----可选,指定有关内存大小和索引选项
show collections显示当前数据库中所有集合
db.collection_name.drop()删除集合如果删除成功----true 删除失败-----false
db.collection_name.insert(内容插入)插入文档eg:db.mycol.insert({_id:100,title:‘mongodb overview’,description:‘mongodb is no sql database’,url:‘http://www.baidu.com’,tags:[‘mongodb’,‘database’,‘nosql’],likes:100,})
db.post.save(document)插入文档
insertone()可以插入单个文本版本至少在3.2
insertmany()可以插入多个文本版本至少在3.2
db.collection_name.find()查询的是一个非结构化显示的所有的文档
db.collection_name.find().pretty()将格式化显示查询的数据
findone()只返回一个文档
db.mycol.find(过滤的规则)过滤
db.mycol,find({$and:[{key1:value1},{key2:value2}…]})and操作符db.mycol.find({$and:[{‘by’:‘yiibai tutorials’},{‘title’:‘NoSQL Database’}]}) .pretty()
db.mycol,find({$or:[{key1:value1},{key2:value2}…] })or操作db.mycol.find({$or:[{‘by’:‘yiibai tutorials’},{‘title’:‘NoSQL Database’}]}) .pretty()
db.mycol.find({‘likes’:{KaTeX parse error: Expected 'EOF', got '}' at position 6: gt:10}̲,or:[{‘by’:‘yiibai tutorials’},{‘title’:‘NoSQL Database’}]}).pretty()and和or条件一起使用
db.collection_name.update(criteria,update_data)更新db.mycol.update({‘by’:‘yiibai tutorials’},{$set:{‘by’:‘new pdate mongodb overview’}})
db.collection_name.remove()删除文档
db.collecton_name.find({},{key:1})投影(查询时查询某一个字段)
db.collection_name.find().limit(number)限制筛选记录
db.collection_name.find().limit(number).skip(number)跳过文档数量进行筛选
db.collection_name.find().sort(key:1)对查询的结果进行排序1 升序 -1 降序
db.collcation.aggragate(options) options---->$group:{_id}分组和聚合函数查询

过滤规则

操作语法示例RDBMS等效语句
等于{:}db.mycol.find({‘by’:‘yiibai tutorials’}).pretty()where by=‘laowang’
小于{:{$lt:}}db.mycol.find({‘likes’:{&lt:50}}).pretty()where likes < 50
小于等于{:{$lte:}}db.mycol.find({‘likes’:{&lte:50}}).pretty()where likes <= 50
大于{:{$gt:}}db.mycol.find({‘likes’:{$gt:50}}).pretty()where likes > 50
大于等于{:{$gte:}}db.mycol.find({‘likes’:{&gte:50}}).pretty()where likes >= 50
不等于{:{$ne:}}db.mycol.find({‘likes’:{&ne:50}}).pretty()where likes != 50

查询嵌套

db.hello.find({size:{w:21,h:14,uom:‘cm’}})查所有
db.hello.find({‘size.h’:14})查单个
db.hello.find({‘size.h’:{$lt:16}})根据范围匹配
db.hello.find({‘size.h’:{$lt:15},‘size.uom’:‘cm’,status:‘A’})根据逻辑匹配

聚合函数

表达式描述示例
$sum从文档中求所有定义的值db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: group:{_id:'by_user’,num_tutorial:{ s u m : ′ sum:&#x27; sum:likes’}}}])
$avg计算集合中所有文档的所有给定值的平均值。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: group:{_id:'by_user’,num_tutorial:{ a v g : ′ avg:&#x27; avg:likes’}}}])
$min从集合中的所有文档获取相应值的最小值。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: group:{_id:'by_user’,num_tutorial:{ m i n : ′ min:&#x27; min:likes’}}}])
$max从集合中的所有文档获取相应值的最大值。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: group:{_id:'by_user’,num_tutorial:{ m a x : ′ max:&#x27; max:likes’}}}])
$first根据分组从源文档获取第一个文档。 通常情况下,这只适用于以前应用的“$sort”阶段。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: group:{_id:'by_user’,num_tutorial:{ f i r s t : ′ first:&#x27; first:likes’}}}])
$last根据分组从源文档获取最后一个文档。通常情况下,这只适用于以前应用的“$sort”阶段。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: group:{_id:'by_user’,num_tutorial:{ l a s t : ′ last:&#x27; last:likes’}}}])
$push将值插入到生成的文档中的数组中。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", url : { p u s h : &quot; push: &quot; push:"url"}}}])
$addToSet将值插入生成的文档中的数组,但不会创建重复项。db.mycol.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup : {_id : "by_user", url : { a d d T o S e t : &quot; addToSet : &quot; addToSet:"url"}}}])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值