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%'