mongoDB操作数据库常见指令

mongoDB操作数据库常见指令

  • 查询库
show dbs
  • 创建库/切换库
use `tableName`
  • 查看当前use的标下有哪些表
show collections
// 和 db.getCollectionNames() 类似
  • 给指定的tableName添加数据
db.tableName.insert({"name": "jsonData"})

// 可以使用for循环创建数据
for(var i=0; i<100; i++){
··· db.tableName.insert({"name": "zhangsan" + i, "age": i})
··· }
  • 删除当前use的数据库
db.dropDatabase()
  • 从指定主机上克隆库
db.cloneDatabase("127.0.0.1")
  • dbgetName()一样的作用
db.getName()
  • 展示表内所有数据(数据数量超过十条,默认只展示10条,输入it可查看下个十条数据)
db.tableName.find()
  • 根据条件查找
//  查找 `age` 大于20的数据
db.tableName.find({"age":{$gt: 20}})
//  查找 `age` 小于20的数据
db.tableName.find({"age":{$lt: 20}})
// 查询age >= 23 并且 age <= 26
db.tableName.find({"age": {$gte: 23, $lte: 26}});

// 查找name键以 z 开头的数据
db.tableName.find({"name": /^z/})
// 查找name键以 z 结尾的数据
db.tableName.find({"name": /$z/})

// 将查找的数据以age为目标从大到小排序
db.tableName.find().sort({"age": -1})
// 如果是1,则从小到大排序

// 查询库中数据总数量
db.tableName.find().count()
  • or与 查询
// 查询age = 22 或者 age = 25 的数据,都会展示
db.tableName.find({$or: [{age: 22}, {age: 25}]});
相当于:select * from userInfo where age = 22 or age = 25;
  • 更新替换新增数据
// 将数据 name=zhangsan 的数据 替换成 name=张三
db.tableName.update({"name":"zhangsan"},{$set:{"name":"张三"}})
// 将所有的都替换
db.tableName.update({"name":"zhangsan"},{$set:{"name":"张三"}}{multi: true})
// 如果当前数据中没有$set后的属性,会添加进去
db.tableName.updata({"name":"zhangsan"},{$set:{"loverName":"fengjie"}})
  • 删除数据
// 删除数据库中 age = 20 的那条数据
db.tableName.remove({"age":20})
// 删除当前表中所有的数据
db.tableName.remove()
  • 限制展示数据数量和跳过数据数量
// 跳过开始的前5条数据,从第6条开始展示
db.tableName.skip(5)
// 限制只展示8条数据
db.tableName.limit(8)

// 制作分页
dn.tableName.limit(pageSize).skip( (pageIndex-1)*pageSize )
// 比如你要展示第8页的数据,每页展示20条数据
db.tableName.limit(20).skip( (20-1)*20 )
  • 给数据添加索引
// 当数据超过万条,查询起来会又延迟,使用索引,可以减少查询数据的时间,和虚拟DOM的key类似
// 添加单个索引
// 后面的数值可以是1,也可以是-1,1表示升序,-1则反之
db.tableName.ensureIndex({"name":1})
// 添加复合索引
db.tableName.ensureIndex({"name": 1, "age": 1})
// 复合索引添加后,可以同时查询 name 和 age 字段,也可以单独查询name字段,但如果查询age字段,索引效果失效
// 索引对后面的字段不起效果

// 展示索引的详细内容
db.tableName.getIndexs()

// 删除索引
// 之前设置索引: db.tableName.ensureIndex({"name": 1})
db.tableName.dropIndex({"name": 1})

// 设置唯一索引
db.tableName.ensureIndex({"name": 1},{"unique": true})
// 设置了数据的唯一索引,则数据不能添加相同值得数据,比如用户名不能重名

你可能感兴趣的:(mongodb指令,mongodb)