MongoDB基于window的安装,及基本的使用方法

学习MongoDB

一、安装

在window的环境下安装MongoDB:
MongoDB下载地址

点击下载即可

  • 安装软件
  • 启动mongo服务,每次启动MongoDB的服务的时候都需要以管理员的身份在命令行中输入以下代码:
你安装的MongoDB的bin文件下 > mongod --dbpath "d://mongodb//data" --logpath "d://mongodb//log//mongodb.log" --logappend

mongod --dbpath 命令是创建数据库文件的存放位置,启动mongodb服务时需要先确定数据库文件存放的位置,否则系统不会自动创建,启动会不成功。 --logpath 表示日志文件存放的路径 --logappend 表示以追加的方式写日志文件

  • 点击软件所在的地方的 bin 文件夹下的 mongo.exe 运行软件
    在这里插入图片描述
    出现弹窗就可以开始输入一些命令了,例如:
    在这里插入图片描述
  • 在安装MongoDB的时候会要求你下载MongoDB Compass 这是一个MongoDB数据库的可视化工具
    在这里插入图片描述

默认的端口号是27017,点击 connect 链接数据库,就可以看到你本地的数据库的相关数据了,可以用这个工具去添加数据库的表,也可以用shell命令行来添加

MongoDB基本的命令

  • show dbs : 显示已有数据库,如果你刚安装好,会默认有local、admin(config),这是MongoDB的默认数据库,我们在新建库时是不允许起这些名称的。
  • use 数据库的名字 : 进入数据,也可以理解成为使用数据库。成功会显示:switched to db 数据库的名字,也有创建数据库的功能。
  • show collections : 显示数据库中的集合(关系型中叫表,我们要逐渐熟悉)。
  • db : 显示当前位置,也就是你当前使用的数据库名称,这个命令算是最常用的,因为你在作任何操作的时候都要先查看一下自己所在的库,以免造成操作错误。
  • use db(建立数据库):use不仅可以进入一个数据库,如果你敲入的库不存在,它还可以帮你建立一个库。但是在没有集合前,它还是默认为空。
  • db.集合.insert( ):新建数据集合和插入文件(数据),当集合没有时,这时候就可以新建一个集合,并向里边插入数据。Demo:db.user.insert({“name”:”jspang”})
  • db.集合.find( ):查询所有数据,这条命令会列出集合下的所有数据,可以看到MongoDB是自动给我们加入了索引值的。Demo:db.user.find()
  • db.集合.findOne( ):查询第一个文件数据,这里需要注意的,所有MongoDB的组合单词都使用首字母小写的驼峰式写法。
  • db.集合.update({查询},{修改}):修改文件数据,第一个是查询条件,第二个是要修改成的值。这里注意的是可以多加文件数据项的,比如下面的例子。

用JS写MongoDB执行语句

goTask.js文件

var userName="Emma";    //声明一个登录名   

var timeStamp=Date.parse(new Date());     //声明登录时的时间戳  

var jsonDdatabase={"loginUser":userName,"loginTime":timeStamp}; //组成JSON字符串

var url = "mongodb://localhost:27017/admin";

var db = connect(url);   //链接数据库
db.login.insert(jsonDdatabase);  //插入数据
print('connect success');  //没有错误显示成功

然后像执行node文件那样,在这个文件所在的地方打开命令行,执行语句是 mongo js文件名
在这里插入图片描述
就会看到上面的结果。这就实现了简单的操作数据库

MongoDB用js实现增删改查

// 批量插入
var  db = connect('mongodb://localhost:27017/admin');  //链接数据库
var user1 = {
	"_id" : 1,
	"name" :"Emma",
	"sex" : 0,
	"age" : 24,
	"skill" : [ "web前端","javascript"]
}
var user2 = {
	"_id" : 2,
	"name" :"Jack",
	"sex" : 0,
	"age" : 26,
	"skill" : [ "Java","PHP"]
}
var user3 = {
	"_id" : 3,
	"name" :"Meg",
	"sex" : 1,
	"age" : 20,
	"skill" : [ "UI","Photoshop"]
}
// 表格的名字叫test
db.test.insert([user1,user2,user3])

在这里插入图片描述
执行之后打开MongoDB compass就可以看到admin 下多了一个表格叫 test,里面有你刚才添加的内容
在这里插入图片描述

修改:

var  db = connect('user');  //链接数据库
db .test.update({"name":"Emma"},{"$set":{sex:1,age:21}})

// $unset用于将key删除
db.test.update({"name":"Emma"},{$unset:{"age" : ' ' }})

// $inc对数字进行计算 它是对value值的修改,但是修改的必须是数字,字符串是不起效果的。
// 我们现在要对MiJie的年龄减去2岁,就可以直接用$inc来操作。
db.test.update({"name":"Emma"},{$inc:{"age":-3}})

// multi选项 multi是有ture和false两个值,true代表全部修改,false代表只修改一个(默认值)
db.test.update({},{$set:{interset:[]}},{multi:true})

// upsert选项 upsert是在找不到值的情况下,直接插入这条数据。比如我们这时候又来了一个成员xiaoba,
// 我们这时候修改他的信息,age设置成20岁,但集合中并没有这条数据。这时候可以使用upsert选项直接添加。
db.test.update({name:'xiaoba'},{$set:{age:20}},{upsert:true})

// $push追加数组/内嵌文档值
db.test.update({name:'xiaoba'},{$push:{interest:'draw'}})

// $ne查找是否存在  它主要的作用是,检查一个值是否存在,如果不存在再执行操作,存在就不执行,这个很容易弄反。
db.test.update({name:'xiaoba',"interest":{$ne:'playGame'}},{$push:{interest:'Game'}})

// $addToSet 升级版的$ne
// 它是$ne的升级版本(查找是否存在,不存在就push上去),操作起来更直观和方便,所以再工作中这个要比$en用的多。
db.test.update({name:"xiaoba"},{$addToSet:{interest:"readBook"}})

// $each 批量追加  它可以传入一个数组,一次增加多个值进去,相当于批量操作,性能同样比循环操作要好很多,
// 这个是需要我们注意的,工作中也要先组合成数组,然后用批量的形式进行操作。
var newInterset=["Sing","Dance","Code"];
db.test.update({name:"xiaoba"},{$addToSet:{interest:{$each:newInterset}}})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 智慧社区背景与挑战 随着城市化的快速发展,社区面临健康、安全、邻里关系和服务质量等多方面的挑战。华为技术有限公司提出智慧社区解决方案,旨在通过先进的数字化技术应对这些问题,提升城市社区的生活质量。 2. 技术推动智慧社区发展 技术进步,特别是数字化、无线化、移动化和物联化,为城市社区的智慧化提供了可能。这些技术的应用不仅提高了社区的运行效率,也增强了居民的便利性和安全性。 3. 智慧社区的核心价值 智慧社区承载了智慧城市的核心价值,通过全面信息化处理,实现对城市各个方面的数字网络化管理、服务与决策功能,从而提升社会服务效率,整合社会服务资源。 4. 多层次、全方位的智慧社区服务 智慧社区通过构建和谐、温情、平安和健康四大社区模块,满足社区居民的多层次需求。这些服务模块包括社区医疗、安全监控、情感沟通和健康监测等。 5. 智慧社区技术框架 智慧社区技术框架强调统一平台的建设,设立数据中心,构建基础网络,并通过分层建设,实现平台能力及应用的可持续成长和扩展。 6. 感知统一平台与服务方案 感知统一平台是智慧社区的关键组成部分,通过统一的RFID身份识别和信息管理,实现社区服务的智能化和便捷化。同时,提供社区内外监控、紧急救助服务和便民服务等。 7. 健康社区的构建 健康社区模块专注于为居民提供健康管理服务,通过整合医疗资源和居民接入,实现远程医疗、慢性病管理和紧急救助等功能,推动医疗模式从治疗向预防转变。 8. 平安社区的安全保障 平安社区通过闭路电视监控、防盗报警和紧急求助等技术,保障社区居民的人身和财产安全,实现社区环境的实时监控和智能分析。 9. 温情社区的情感沟通 温情社区着重于建立社区居民间的情感联系,通过组织社区活动、一键呼叫服务和互帮互助平台,增强邻里间的交流和互助。 10. 和谐社区的资源整合 和谐社区作为社会资源的整合协调者,通过统一接入和身份识别,实现社区信息和服务的便捷获取,提升居民生活质量,促进社区和谐。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值