时间:2021-07-01 10:21:17 帮助过:3人阅读
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
table joins | 表连接,MongoDB不支持 | |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
示例:
一个mongodb中可以建立多个数据库。
MongoDB的默认数据库为"db",该数据库存储在data目录中。
MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。
常用命令:
#Help查看命令提示 help db.help() db.test.help() db.test.find().help() #创建/切换数据库 use music #查询数据库 show dbs #查看当前使用的数据库 db/db.getName() #显示当前DB状态 db.stats() #查看当前DB版本 db.version() #查看当前DB的链接机器地址 db.getMongo() #删除数据库 db.dropDatabase()
Collection集合操作:
#创建一个集合 db.createCollection("collName", {size: 20, capped: true, max: 100}); db.collName.isCapped(); //判断集合是否为定容量 #得到指定名称的集合 db.getCollection("account"); #得到当前db的所有集合 db.getCollectionNames(); #显示当前db所有集合的状态 db.printCollectionStats();
添加、修改与删除集合数据
#添加
db.users.save({name: ‘zhangsan‘, age: 25, sex: true});
#db.users.insert(),db.users.insertOne()
#修改
db.users.update({age: 25}, {$set: {name: ‘changeName‘}}, false, true);
#相当于:update users set name = ‘ changeName‘ where age = 25;
db.users.update({name: ‘Lisi‘}, {$inc: {age: 50}}, false, true);
#相当于:update users set age = age + 50 where name = ‘Lisi‘;
db.users.update({name: ‘Lisi‘}, {$inc: {age: 50}, $set: {name: ‘hoho‘}}, false, true);
#相当于:update users set age = age + 50, name = ‘hoho‘ where name = ‘Lisi‘;
#删除
db.users.remove({age: 132});
#可以使用正则表达式:如 db.users.remove({age: /132/});
集合数据查询
#查询所有记录 db.userInfo.find(); #相当于:select* from userInfo; #查询去重后数据 db.userInfo.distinct("name"); #相当于:select distict name from userInfo; #查询age = 22的记录 db.userInfo.find({"age": 22}); #相当于: select * from userInfo where age = 22; #查询age > 22的记录 db.userInfo.find({age: {$gt: 22}}); #相当于:select * from userInfo where age > 22; #查询age < 22的记录 db.userInfo.find({age: {$lt: 22}}); 相当于:select * from userInfo where age < 22; #查询age >= 25的记录 db.userInfo.find({age: {$gte: 25}}); #相当于:select * from userInfo where age >= 25; #查询age <= 25的记录 db.userInfo.find({age: {$lte: 25}}); #查询age >= 23 并且 age <= 26 db.userInfo.find({age: {$gte: 23, $lte: 26}}); #查询name中包含 mongo的数据 db.userInfo.find({name: /mongo/}); #相当于%% select * from userInfo where name like ‘%mongo%‘; #查询name中以mongo开头的 db.userInfo.find({name: /^mongo/}); #相当于: select * from userInfo where name like ‘mongo%‘; #查询指定列name、age数据 db.userInfo.find({}, {name: 1, age: 1}); #相当于:select name, age from userInfo; #查询指定列name、age数据, age > 25 db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1}); #相当于:select name, age from userInfo where age >25; #按照年龄排序 #升序:db.userInfo.find().sort({age: 1}); #降序:db.userInfo.find().sort({age: -1}); #查询name = zhangsan, age = 22的数据 db.userInfo.find({name: ‘zhangsan‘, age: 22}); #相当于:select * from userInfo where name = ‘zhangsan‘ and age = ’22‘; #查询前5条数据 db.userInfo.find().limit(5); #相当于:select top 5 * from userInfo; #查询10条以后的数据 db.userInfo.find().skip(10); #相当于:select * from userInfo where id not in (select top 10 * from userInfo); #查询在5-10之间的数据 db.userInfo.find().limit(10).skip(5); #or与 查询 db.userInfo.find({$or: [{age: 22}, {age: 25}]}); #相当于:select * from userInfo where age = 22 or age = 25; #查询第一条数据 db.userInfo.findOne(); #相当于:select top 1 * from userInfo;db.userInfo.find().limit(1); #查询某个结果集的记录条数 db.userInfo.find({age: {$gte: 25}}).count(); #相当于:select count(*) from userInfo where age >= 20;
MongoDB
标签:on() user row tin 名称 常用 code 修改 管理