0
点赞
收藏
分享

微信扫一扫

文档型数据库MongoDB常用命令


MongoDB


文章目录


  • ​​MongoDB​​
  • ​​配置MongoDB环境变量​​
  • ​​MongoDB与MySQL数据库逻辑结构概念的对比​​
  • ​​常用命令​​

  • ​​选择和创建数据库​​
  • ​​插入与查询文档​​
  • ​​修改文档​​
  • ​​删除文档​​
  • ​​统计条数​​
  • ​​模糊查询​​
  • ​​大于 小于 不等于​​
  • ​​包含与不包含​​
  • ​​条件连接​​
  • ​​列值增长​​



配置MongoDB环境变量


在环境变量path中配置MongoDB安装路径
D:\Program Files\MongoDB\Server\3.2\bin
因为我安装到了这个目录了
温馨提示:MongoDB默认端口27017


MongoDB与MySQL数据库逻辑结构概念的对比

MongoDb

关系型数据库Mysql

数据库(databases)

数据库(databases)

集合(collections)

表(table)

文档(document)

行(row)

常用命令
选择和创建数据库


选择和创建数据库的语法格式:
use 数据库名称;
例如:use mongodb
tip : 如果数据库不存在则自动创建


插入与查询文档


1、插入文档的语法格式:
db.集合名称.insert(数据);
例如: db.student.insert({sname:“goblin”,age:NumberInt(“28”),address:“China”})
2、查询集合的语法格式:
db.集合名称.find()
例如: db.student.find()
{ “_id” : ObjectId(“604b7301290d5ee3139eee8b”), “sname” : “goblin”, “age” : 28, “address” : “China” }
再插入一条数据:
db.student.insert({sname:“goblinGhost”,age:NumberInt(“28”),address:“China Of Beijing”})

扩展1:
按条件查询: db.集合名称.find(条件)
例如: db.student.find({sname:"goblinGhost"})
{ "_id" : ObjectId("604b73d3290d5ee3139eee8c"), "sname" : "goblinGhost", "age" : 28, "address" : "China Of Beijing" }
扩展2:
返回指定条数的记录:db.集合名称.find().limit(2);
例如: db.student.find().limit(1)
{ "_id" : ObjectId("604b7301290d5ee3139eee8b"), "sname" : "goblin", "age" : 28, "address" : "China" }


修改文档


修改文档的语法结构:
db.集合名称.update(条件,修改后的数据)
例如: db.student.update({sname:“goblinGhost”},{age:NumberInt(“18”)})
WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 })
查询文档,查看修改后的数据
例如: db.student.find()
{ “_id” : ObjectId(“604b7301290d5ee3139eee8b”), “sname” : “goblin”, “age” : 28, “address” : “China” }
{ “_id” : ObjectId(“604b73d3290d5ee3139eee8c”), “age” : 18 }
tip: 数据虽然修改成功了,但是,其他字段没有了



再插入一条数据,本次指定了_id字段
db.student.insert({_id:“3”,sname:“goblinGhost”,age:NumberInt(“18”),address:“China Of Beijing”})
再次查询:
db.student.find()
{ “_id” : ObjectId(“604b7301290d5ee3139eee8b”), “sname” : “goblin”, “age” : 28, “address” : “China” }
{ “_id” : ObjectId(“604b73d3290d5ee3139eee8c”), “age” : 18 }
{ “_id” : “3”, “sname” : “goblinGhost”, “age” : 18, “address” : “China Of Beijing” }



为了不让文档其他字段不受影响,使用修改器KaTeX parse error: Expected '}', got 'EOF' at end of input: …称.update({条件},{set:{修改后的数据}})
例如 : db.student.update({_id:“3”},{$set:{address:“China Of Beijing Road 110”}})
再次执行 : db.student.find()
{ “_id” : ObjectId(“604b7301290d5ee3139eee8b”), “sname” : “goblin”, “age” : 28, “address” : “China” }
{ “_id” : ObjectId(“604b73d3290d5ee3139eee8c”), “age” : 18 }
{ “_id” : “3”, “sname” : “goblinGhost”, “age” : 18, “address” : “China Of Beijing Road 110” }


删除文档


删除文档的语法结构:
db.集合名称.remove(条件)
例如: db.student.remove({age:NumberInt(“18”)})
将数据全部删除:
db.student.remove({}) #慎用;搞不好得跑路


统计条数


统计条数语法结构:
db.集合名称.count()
例如: db.student.count()
按条件统计条数语法结构:
db.集合名称.count(条件)
例如: db.student.count({age:NumberInt(“28”)})


模糊查询


模糊查询是通过正则表达式的方式实现的。格式为:
/模糊查询字符串/
具体格式: db.集合名称.find(条件)
例如: db.student.find({sname:/goblin/})
{ “_id” : ObjectId(“604b7301290d5ee3139eee8b”), “sname” : “goblin”, “age” : 28, “address” : “China” }
{ “_id” : “3”, “sname” : “goblinGhost”, “age” : 20, “address” : “China Of Beijing Road 110” }
tip: 条件中不要加双引号哦

扩展:
查询已什么开头的数据
格式: db.集合名称.find(条件)
例如: db.student.find({sname:/^goblin/})
{ "_id" : ObjectId("604b7301290d5ee3139eee8b"), "sname" : "goblin", "age" : 28, "address" : "China" }
{ "_id" : "3", "sname" : "goblinGhost", "age" : 20, "address" : "China Of Beijing Road 110" }


大于 小于 不等于


<, <=, >, >= 这个操作符也是很常用的,格式如下:
db.集合名称.find({ “field” : { $gt: value }}) // 大于: field > value
db.集合名称.find({ “field” : { $lt: value }}) // 小于: field < value
db.集合名称.find({ “field” : { $gte: value }}) // 大于等于: field >= value
db.集合名称.find({ “field” : { $lte: value }}) // 小于等于: field <= value
db.集合名称.find({ “field” : { $ne: value }}) // 不等于: field != value

例如: db.student.find({age:{$lt:30}})


db.student.find({age:{$gt:NumberInt(“10”)}})


包含与不包含


包含格式:
db.集合名称.find({“field”:{$in:[“value1”,“value2”]}})

不包含格式:
db.集合名称.find({“field”:{$nin:[“value1”,“value2”]}})


条件连接


条件连接(类似于SQL中的 AND)格式为:
KaTeX parse error: Expected '}', got 'EOF' at end of input: … db.集合名称.find({and:[ {“field”:{KaTeX parse error: Expected 'EOF', got '}' at position 9: gte:1000}̲} ,{"field":{lt:2000} }]})
KaTeX parse error: Expected '}', got 'EOF' at end of input: … db.集合名称.find({or:[ {“field”:{KaTeX parse error: Expected 'EOF', got '}' at position 9: gte:1000}̲} ,{"field":{lt:2000} }]})


列值增长


如果我们想实现对某列值在原有值的基础上进行增加或减少,可以使用KaTeX parse error: Expected '}', got 'EOF' at end of input: …ate({_id:"2"},{inc:{“field”:NumberInt(1)}} )




举报

相关推荐

0 条评论