mongo

mongodb4.xxx 安装,和基本配置

梦想与她 提交于 2020-02-03 00:25:06
1.社区版 下载地址 ww.mongodb.com/download-center/community 2.配置环境变量 安装目录下的 bin 目录 ,C:\z_MongoDB\bin;重启运行命令 services.msc(window10)打开服务界面,此时已经自动添加到系统服务里面了,每次开机自动重启 3.打开命令行,cmd , 输入mongo 链接上数据库 此时可以看到版本,进入到 mongo环境中这下就可以输入 数据库相关语句了4.创建超级管理员账户, 4.创建超级管理员账户:use admin db.createUser({ user:'admin', pwd:'123456', roles:[{role:'root',db:'admin'}] }) 删除超级账户:db.dropUers('admin'); C:\z_MongoDB\bin\mongod.cfg 找到这个配置文件 放开 security表示开启权限验证这个文件有严格的格式,注意空格(1053错误,无法重启) security: authorization: enabled 5.用超级管理员账户连接数据库 mongo admin -u 用户名-p 密码 mongo 192.168.1.200:27017/test -u user -p password 6.给某个数据库创建用户 ,只能访问该数据库

再学习之Spring(依赖注入).

最后都变了- 提交于 2020-02-02 09:27:48
一、概述 Spring框架是以 简化Java EE应用程序的开发 为目标而创建的。Spring可以实现很多功能,但是这些功能的底层都依赖于它的两个核心特性,也就是依赖注入和面向切面编程。几乎Spring所做的任何事情都可以追溯到下述的一条或多条策略: 基于POJO的轻量级和最小侵入性编程; 通过依赖注入和面向接口实现松耦合; 基于切面和惯例进行声明式编程; 通过切面和模板减少样板式代码。 Spring的三个基本愿景: 使用DI来实现低耦合 使用AOP切面实现高内聚 使用模板消除样板式代码,比如jdbcTemplate 二、Bean 容器是Spring框架的核心。Spring容器使用DI管理构成应用的组件(Bean),它会创建相互协作的组件之间的关联。毫无疑问,这些对象更简单干净,更易于理解和重用,更易于单元测试。 Spring为每个Bean定义了多种作用域,默认都是以单例的模式创建的: 单例(Singleton):在整个应用中,只创建bean的一个实例。 原型(Prototype):每次注入或者通过Spring应用上下文获取的时候,都会创建一个新的bean实例。 会话(Session):在Web应用中,为每个会话创建一个bean实例。 请求(Rquest):在Web应用中,为每个请求创建一个bean实例。 Bean的生命周期: Bean实例生命周期的执行过程如下:

mongo索引

有些话、适合烂在心里 提交于 2020-01-28 12:50:28
mongo索引 索引的基本理解 索引实际就是对指定字段进行排序的数据结构 。 基于B-Tree的结构提升查询速度。 (时间复杂度logn) 复合键索引可以对多个字段进行排序。复合键索引只能支持前缀子查询 例如创建的复合查询为(a,b,c),匹配的时候只能按照从左往右的形式,比如 (a),(a,b)但是不能对(b,c)或者(b)不能加速索引。 查询索引:db.collection.getIndexes(), 创建索引:db.collection.createIndex(), 删除索引:db.collection.dropIndex() 索引的创建 默认索引 _id db.collection.createIndex({name:1}) #1从小到大排序 返回值 numIndexesBefore:1 numIndexesAfter:2 查询索引:db.collection.getIndexes() 创建复合键索引 db.collection.createIndex({name:1,balance:-1}) #1从小到大排序 多键索引 包含数组元组的字段创建索引。创建方法和单键的一致。 指定为后端形式创建索引 存在大量数据的集合上创建索引是非常耗时的,而且在创建索引的时候,会阻塞所有的读和写请求,一致到索引创建完成。这个时候可以通过设置为在后端创建

mongo学习笔记---1

时光总嘲笑我的痴心妄想 提交于 2020-01-24 04:42:41
mongo简介 非结构化数据库,数据都是以Bson格式(json的二进制)存储的。 特点:不需要指定表结构,存在一张表里的数据其结构可以完全不同。内部执行引擎为JS解释器, 把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作。 应用场景举例:类似网易云音乐一个音乐下有很多评论,评论之间又可以互相评论,评论下还可以点赞。这样的数据结构如果是按照关系型数据库,可能需要电影表,评论表,点赞表,用户表他们之间又有1对多和多对多的关系,这会造成复杂的查询。而在mongo中可能它只需要一个对象(json的结构)就可以保存如下所示 { song:’双节棍’, comments:[       {content:’很好听’,user_id:1,good:[{user:1,time:'2017-01-01'},{user:3,time:'2017-01-23'},{user:4,time:'2017-05-01'}]},       {content:’一般吧’,user_id:2}      ] } 1: mongo入门命令 show dbs 查看当前的数据库 use databaseName 选库 show tables/collections 查看当前库下的collection Mongodb的库是隐式创建,你可以use 一个不存在的库

spark写入mongo,性能提升10倍+

喜欢而已 提交于 2020-01-14 23:16:42
原来代码: finalDf.rdd.repartition(100).foreach(itm => { val InsertOne = new Document("app", itm(0)).append("day", itm(1)).append("hour", itm(2)).append("adx", itm(3)) //单条插入: mongoConn.withCollectionDo(new WriteConfig(databaseName, ResultCol, Option(MongoConn)), { col: MongoCollection[Document] => col.insertOne(InsertOne) }) }) 修改后: val insertRdd = finalDf.rdd.coalesce(100).map(itm => { val insertOne = new Document("app", itm(0)).append("day", itm(1)).append("hour", itm(2)).append("adx", itm(3)) insertOne }) //批量写 MongoSpark.save(insertRdd) 由于是从s3上往阿里云的mongo上插入,通过ping命令,知道ping一次大概要2ms,如果单条查

docker 安装mysql mongo

左心房为你撑大大i 提交于 2020-01-12 17:29:36
Docker安装Mysql 1.拉取镜像 docker pull mysql/mysql-server 2.运行mysql docker run -d -p 3306:3306 --name [Name] [ImageName] //示例 docker run -d -p 3306:3306 --name mysql01 mysql/mysql-server 3.进入容器 docker exec -it [ContainerName] bash //示例 docker exec -it mysql01 bash 4.进入mysql的命令行 命令行进入mysql的root账户: mysql -uroot -p 这时候操作mysql会报错 ,让修改密码 请看 常见错误解决模块 创建新用户 mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY 'pwd123456'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' WITH GRANT OPTION; mysql> CREATE USER 'test'@'%' IDENTIFIED BY 'pwd123456'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH

mongo客户端mongo VUE增删改查

南楼画角 提交于 2020-01-07 14:15:16
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、先创建一张mongo表,右击已创建的数据库test,点击addcollection.. 输入Collection Name,点击ok; 二、在创建的表中新增列与数据,右击表选择Insert document 点击Insert,刷新表。 三、查询数据 右击表格,点击Find 1、 查询日期的方式需要在{Find}框中写 { "endDate":ISODate("2013-12-30T16:00:00Z") } 这样才能正确匹配到日期 2、查询普通数据:{"age":1,"name":"aaa"} 3、查询大于,小于 4、{Find}中写where语句 $lt:小于,$lte:小于等于, $gt:大于,$gte:大于等于 4、${Where}:右击表格,点击Find2,比Find多了一个where; 写表达式 where可以写函数: 4、排序${Sort} ,给某个字段排序升序排序{"name":1},降序{"name":-1};注:小于0表示降序,大于等于0表示升序 4、查询字段${Fields} 字段的值是1表示:查出id与该字段;值为0表示:查出表中所有字段,不包括该字段 5、其他选项 skip:表示跳过多少条数据,例如表中有三条,skip为2,那么只有查出一条数据 limit:表示分页 detail

mongo分页查询方式

折月煮酒 提交于 2020-01-07 10:34:54
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 闲下来,想了下准备总结下最近在mongo查询上所遇到的一些问题,我在这里罗列一下。 1.mongo使用shell的find查询: 查询long型字段时,需要在查询条件里使用NumberLong("xxxx")包裹起来,这样才是精确查找,不然查找到的数据是不一致 2.mongo添加一个字段: 为mongo的每一条记录都添加一个字段时,使用uodate时,加入插入的字段默认值是int型的,那么直接填写值的话,插入后会变成double型的数据,后面自动添加“.0,必须用NumberInt(xx)来包裹;因为mongo是基于bason格式的,而bason里面是有int类型,而mongo的shell是基于json格式的,json格式中只有number类型,所以才使用int或者long型必须用number来包裹; 3.mongo分页方式讨论 ①一般的分页使用skip,limit来结合,这个方式实现起来很简单,并且前期问题也不打,但是当数据量上去以后就会越来越卡,我测试过10W数据量,当一次查询发起的时候会卡很久,建议小数据量时使用; ②第二种方式是基于瀑布流形式的下拉分页,其通过排序某个唯一字段,然后获取上一条记录大这个字段通过对比获取上一页或者下一页的数据,这个方式是我们现在业务中普遍使用的

解决mongo单文档超过16M

夙愿已清 提交于 2020-01-06 19:55:08
mongodb导入大文件的数据时,导入一小部分后,提示lost connect,失去连接。mongo文件有6.3G,网上查了一下,原来Mongo对单次处理好像有大小限制(16m),所以大文件会出问题,这应该是个Bug mongoimport 默认会10000条 为一个批量导入数据,解决方法是在导入的语句后面加入一个参数 --batchSize 可以指定每次批量导入的条数 设置小一些就不报错了。 首先进入bin目录下 具体语句如下: mongoimport -d database -c indexs < indexs.mongo --batchSize 1 -d后面是你的数据库的名字,-c后面是集合的名称。batchSize前面是两个中横杠。 来源: https://www.cnblogs.com/tjp40922/p/12151127.html

Mongo中的数组操作

我们两清 提交于 2019-12-23 21:36:42
当前mongo中有这么一条数据 book是一个数组,在他后面添加一条数据 { "_id" : ObjectId("5721f504d1f70435632b5ce7"), "qqqqq" : 5.0, "list" : { "school" : "驻马店第一高级中学", "age" : 22.0, "name" : "qiaoansheng" }, "book" : ["C#大全", "干你妹三千"] } db.ansheng.update({"_id":ObjectId("5721f504d1f70435632b5ce7")},{"$push":{"book":"mongo权威指南"}}) 执行完成后 mongo权威指南 完美的添加到了,这个数组的后面 /* 0 */ { "_id" : ObjectId("5721f504d1f70435632b5ce7"), "qqqqq" : 5.0, "list" : { "school" : "驻马店第一高级中学", "age" : 22.0, "name" : "qiaoansheng" }, "book" : ["C#大全", "干你妹三千", "mongo权威指南"], "MyBook" : [{ "bookName" : "干你妹三千", "money" : 188.0 }, { "bookName" : "干你妹三千",