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

猜你喜欢

转载自blog.csdn.net/wu515215418/article/details/81132701