MongoDB【MongoDb终端操作,对比MySQL语句】

Mongo操作,与之对应的MySQL操作

从Docker 容器 操作:

:docker exec -it docker_mongo_1 bash // 进入MongoDB容器

:mongo // mongo终端

:show dbs // 查看所有的库

:use 【db】 // 指明使用的库

:show tables // 查看该【db】所有的表

 

创建数据表

db.createCollection("table_1")

---->> create table table_1(column dataType default **);

 

修改数据表名

> db.Account.renameCollection("Account1")

-->>>alter table student rename person; 

 

查看表全部记录

> db.Account.find()

--->>>select * from table ;

 

 

查询一条记录

> db.Account.findOne() -- >>>>select * from table limit 1;

 

查询聚集中字段的不同记录

> db.Account.distinct("UserName")

--SELECT DISTINCT("UserName")  FROM Account

 

查询聚集中UserName包含“keyword”关键字的记录

db.Account.find({"UserName":/keyword/})

 --SELECT * FROM Account WHERE UserName LIKE '%keyword%'

 

 

查询聚集中UserName以"keyword" 开头的记录

> db.Account.find({"UserName":/^keyword/})

--SELECT * FROM Account WHERE UserName LIKE 'keyword%'

 

查询聚集中UserName以“keyword”结尾的记录

> db.Account.find({"UserName":/keyword$/})

--SELECT * FROM Account WHERE UserName LIKE '%keyword' 

 

查询聚集中指定列

> db.Account.find({},{"UserName":1,"Email":1})    --1:true

--SELECT UserName,Email FROM Account

 

查询聚集中排除指定列

> db.Account.find({},{"UserName":0})    --0:false

 

查询聚集中指定列,且Age > 20

> db.Account.find({"Age":{"$gt":20}},{"UserName":1,"Email":1})

--SELECT UserName,Email FROM Account WHERE Age > 20 

 

聚集中字段排序 

> db.Account.find().sort({"UserName":1}) -- 升序

> db.Account.find().sort({"UserName":-1}) --降序

--SELECT * FROM Account ORDER BY UserName ASC

--SELECT * FROM Account ORDER BY UserName DESC 

 

统计聚集中记录条数

> db.Account.find().count()

--SELECT COUNT(*) FROM Account 

 

统计聚集中符合条件的记录条数

> db.Account.find({"Age":{"$gt":20}}).count()

-- SELECT COUNT(*) FROM Account WHERE Age > 20

 

统计聚集中字段符合条件的记录条数

> db.Account.find({"UserName":{"$exists":true}}).count()

--SELECT COUNT(UserName) FROM Account 

查询聚集中前5条记录 

> db.Account.find().limit(5)

--SELECT * FROM Account limit 5; 

 

查询聚集中第10条以后的记录

> db.Account.find().skip(10)

--SELECT * FROM user_info where id not in (select id from(SELECT id FROM user_info limit 2) as a);

 

查询聚集中第10条记录以后的5条记录

> db.Account.find().skip(10).limit(5)

--SELECT * FROM user_info where id not in (select id from(SELECT id FROM user_info limit 10) as a) limit 5;

 

 

or查询

> db.Account.find({"$or":[{"UserName":/keyword/},{"Email":/keyword/}]},{"UserName":true,"Email":true})

--SELECT UserName,Email FROM Account WHERE UserName LIKE '%keyword%' OR Email LIKE '%keyword%' 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值