文档型数据库MongoDB常用命令

╰半橙微兮° 2022-11-07 11:44 241阅读 0赞
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. 扩展1
  2. 按条件查询: db.集合名称.find(条件)
  3. 例如: db.student.find({sname:"goblinGhost"})
  4. { "_id" : ObjectId("604b73d3290d5ee3139eee8c"), "sname" : "goblinGhost", "age" : 28, "address" : "China Of Beijing" }
  5. 扩展2
  6. 返回指定条数的记录:db.集合名称.find().limit(2);
  7. 例如: db.student.find().limit(1)
  8. { "_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: 条件中不要加双引号哦

  1. 扩展:
  2. 查询已什么开头的数据
  3. 格式: db.集合名称.find(条件)
  4. 例如: db.student.find({sname:/^goblin/})
  5. { "_id" : ObjectId("604b7301290d5ee3139eee8b"), "sname" : "goblin", "age" : 28, "address" : "China" }
  6. { "_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 条评论,241人围观)

还没有评论,来说两句吧...

相关阅读