怎么启动mongodb数据库(怎么设置mongodb 开机启动 windows)
本文目录
- 怎么设置mongodb 开机启动 windows
- 如何打开已经创建的MongoDB数据库
- 如何启动MongoDB的WEB界面
- Linux Centos 7安装MongoDB(简单!详细!)
- java中怎么启动mongodb
怎么设置mongodb 开机启动 windows
原始方式只有启动了mongodb的服务,才能使用mongodb的功能,通常情况下会开一个命令窗口,输入下面的命令来启动服务:配置文件方式如果不想每次启动的时候都在命令行中输入很多繁琐的参数,可以把参数信息保存在配置文件中。创建一个名为mongodb.cnf的配置文件,和那些小工具放在同一个目录中,文件的内容如下:dbpath="d:\database\mongodb\data"然后在命令窗口输入下面命令就可以启动服务看似和上面的方法差不多,还是需要指定配置文件,但如果参数不止-dbpath的时候,就可以将参数都写在配置文件中,在命令行调用的时候就会显得方便很多。daemon方式上面介绍的两种方式启动服务都需要打开一个命令行窗口,窗口关闭了服务也就停止了。我们使用--fork参数可以将mongodb的服务放在后台运行,这样相对比较安全。--fork参数是和--logpath参数一起使用的
如何打开已经创建的MongoDB数据库
1)列出当前的数据库MongoDB shell version: 1.8.1connecting to: test》 show dbs -www.linuxidc.com-admin 0.03125GBlocal (empty) 可以使用show dbs来列出当前有多少个数据库,上面看到的是有两个,分别是admin和local。 2) 定义新的数据库名 我们通过使用“use new-databasename”的语法去使用一个新的数据库,注意,即使你的数据库还没建立起来,依然可以这样使用,因为mongodb会在真正插入了数据后,才会真正建立起来。》use mkyongdbswitched to db mkyongdb》 show dbsadmin 0.03125GBlocal (empty) 注意,在use mkyongdb后,mkyongdb实际上还没真正建立起来,只是表明目前是在使用mkyongdb了。 3)保存数据 定义一个collection,名为“users”,然后插入数据,如下:》 db.users.save( {username:"mkyong"} )》 db.users.find(){ "_id" : ObjectId("4dbac7bfea37068bd0987573"), "username" : "mkyong" }》》 show dbs -www.linuxidc.com-admin 0.03125GBlocal (empty)mkyongdb 0.03125GB 可以看到,用db.users.find()可以找出已插入的数据。这个时候,名为“users”的collection已经建立起来了,同时,数据库mkyongdb也建立起来了。
如何启动MongoDB的WEB界面
让我们构建一个简单的EmployeeManager Web服务,我们将使用它来演示与MongoDB连接的HATEOAS。为了引导我们的应用程序,我们将使用Spring Initializr。我们将使用Spring HATEOAS和Spring Data MongoDB作为依赖项。你应该看到类似下图2所示的内容。 图2 :引导应用程序配置完成后,下载zip并将其作为Maven项目导入你喜欢的IDE中。 首先,让我们配置application.properties。要获得MongoDB连接,spring.data.mongodb.host= //Mongo server host
spring.data.mongodb.port= //Mongo server portspring.data.mongodb.username= //Login userspring.data.mongodb.password= //Passwordspring.data.mongodb.database= //Database name
一般来说,如果所有内容都是全新安装的,并且你没有更改或修改任何Mongo属性,则只需提供一个数据库名称(已经通过GUI创建了一个数据库名称)。
spring.data.mongodb.database = EmployeeManager
另外,为了启动Mongo实例,作者创建了一个.bat,它指向安装文件夹和数据文件夹。它是这样的:"C:\Program Files\MongoDB\Server\3.6\bin\mongod" --dbpath D:\Inther\EmployeeManager\warehouse-data\db ***隐藏网址***
public class Employee {private String employeeId;private String firstName;private String lastName;private int age;}public class Department {private String department;private String name;private String description;private List《Employee》 employees;}
现在我们已经完成了模型的制作,让我们来创建存储库,以便来测试持久性。存储库如下所示:
public interface EmployeeRepositoryextends MongoRepository《Employee, String》 {}public interface DepartmentRepositoryextends MongoRepository《Department,String》{}
如上所示,这里没有方法,因为大家都知道Spring Data中的中心接口被命名为Repository,在其之上是CrudRepository,它提供了处理模型的基本操作。在CrudRepository之上,我们有PagingAndSortingRepository,它为我们提供了一些扩展功能,来简化分页和排序访问。在我们的案例中,最重要的是MongoRepository,它用于严格处理我们的Mongo实例。因此,对于我们的案例来说,除了那些现成的方法外,我们不需要任何其他方法,但是仅出于学习目的,作者在这里要提到的是你可以添加其他查询方法的两种方法:
- “惰性”(查询创建):此策略将尝试通过分析查询方法的名称并推断关键字(例如findByLastnameAndFirstname)来构建查询。
- 编写查询:这里没有什么特别的。例如,只用@Query注释你的方法,然后自己编写查询。你也可以在MongoDB中编写查询。下面是基于JSON的查询方法的示例:
- 至此,我们已经可以测试我们持久性如何工作。我们只需要对模型进行一些调整即可。通过调整,作者的意思是我们需要注释一些东西。Spring Data MongoDB使用MappingMongoConverter将对象映射到文档,下面是我们将要使用的一些注释:
- @Id :字段级别注释,指出你的哪个字段是身份标识。
- @Document :类级别的注释,用于表示该类将被持久化到数据库中。
- @DBRef :描述参考性的字段级别注释。
- 注释完成后,我们可以使用CommandLineRunner获取数据库中的一些数据,CommandLineRunner是一个接口,用于在应用程序完全启动时(即在run()方法之前)运行代码段。在下面,你可以看一下作者的Bean配置。
- 我们已经创建了一些模型,并对它们进行了持久化。现在,我们需要一种与他们交互的方式。如上所说,所有代码都可以在GitHub上找到,因此作者在这里将仅向我们展示一个域服务(接口和实现)。接口如下:
- 接口的实现如下:
- 这里没有什么特别的要注意的,下面我们将继续讨论最后一个难题——控制器!你可以在下面看到员工资源的控制器实现。
- 因此,对于上面实现的所有方法,我们将自己定位在Richardson成熟度模型的第二级,因为我们使用了HTTP动词并实现了CRUD操作。现在,我们有了与数据进行交互的方法,并且可以使用Postman,我们可以如下图3所示检索资源,或者可以如下图4所示添加新资源。
- 图3 :检索JSON中的部门列表
- 图4:JSON中添加新员工
@Query("{ ’firstname’ : ?0 }")List《Employee》 findByTheEmployeesFirstname(String firstname);
@Bean public CommandLineRunner init(EmployeeRepository employeeRepository, DepartmentRepository departmentRepository) {return (args) -》 {employeeRepository.deleteAll();departmentRepository.deleteAll();Employee e = employeeRepository.save(new Employee("Ion", "Pascari", 23));departmentRepository.save(new Department("Service Department", "Service Rocks!", Arrays.asList(e)));for (Department d : departmentRepository.findAll()) {LOGGER.info("Department: " + d);}};}
public interface EmployeeService {Employee saveEmployee(Employee e);Employee findByEmployeeId(String employeeId);void deleteByEmployeeId(String employeeId);void updateEmployee(Employee e);boolean employeeExists(Employee e);List《Employee》 findAll();void deleteAll();}
@Service public class EmployeeServiceImpl implements EmployeeService {@Autowiredprivate EmployeeRepository employeeRepository;@Overridepublic Employee saveEmployee(Employee e) {return employeeRepository.save(e);}@Overridepublic Employee findByEmployeeId(String employeeId) {return employeeRepository.findOne(employeeId);}@Overridepublic void deleteByEmployeeId(String employeeId) {employeeRepository.delete(employeeId);}@Overridepublic void updateEmployee(Employee e) {employeeRepository.save(e);}@Overridepublic boolean employeeExists(Employee e) {return employeeRepository.exists(Example.of(e));}@Overridepublic List《Employee》 findAll() {return employeeRepository.findAll();}@Overridepublic void deleteAll() {employeeRepository.deleteAll();}}
@RestController@RequestMapping("/employees")public class EmployeeController {@Autowiredprivate EmployeeService employeeService;@RequestMapping(value = "/list/", method = RequestMethod.GET)public HttpEntity《List《Employee》》 getAllEmployees() {List《Employee》 employees = employeeService.findAll();if (employees.isEmpty()) {return new ResponseEntity《》(HttpStatus.NO_CONTENT);} else {return new ResponseEntity《》(employees, HttpStatus.OK);}}@RequestMapping(value = "/employee/{id}", method = RequestMethod.GET)public HttpEntity《Employee》 getEmployeeById(@PathVariable("id") String employeeId) {Employee byEmployeeId = employeeService.findByEmployeeId(employeeId);if (byEmployeeId == null) {return new ResponseEntity《》(HttpStatus.NOT_FOUND);} else {return new ResponseEntity《》(byEmployeeId, HttpStatus.OK);}}@RequestMapping(value = "/employee/", method = RequestMethod.POST)public HttpEntity《?》 saveEmployee(@RequestBody Employee e) {if (employeeService.employeeExists(e)) {return new ResponseEntity《》(HttpStatus.CONFLICT);} else {Employee employee = employeeService.saveEmployee(e);URI location = ServletUriComponentsBuilder .fromCurrentRequest().path("/employees/employee/{id}").buildAndExpand(employee.getEmployeeId()).toUri();***隐藏网址******隐藏网址******隐藏网址***}}@RequestMapping(value = "/employee/{id}", method = RequestMethod.PUT)public HttpEntity《?》 updateEmployee(@PathVariable("id") String id, @RequestBody Employee e) {Employee byEmployeeId = employeeService.findByEmployeeId(id);if(byEmployeeId == null){return new ResponseEntity《》(HttpStatus.NOT_FOUND);} else {byEmployeeId.setAge(e.getAge());byEmployeeId.setFirstName(e.getFirstName());byEmployeeId.setLastName(e.getLastName());employeeService.updateEmployee(byEmployeeId);return new ResponseEntity《》(employeeService, HttpStatus.OK);}}@RequestMapping(value = "/employee/{id}", method = RequestMethod.DELETE)public ResponseEntity《?》 deleteEmployee(@PathVariable("id") String employeeId) {employeeService.deleteByEmployeeId(employeeId);return new ResponseEntity《》(HttpStatus.NO_CONTENT);}@RequestMapping(value = "/employee/", method = RequestMethod.DELETE)public ResponseEntity《?》 deleteAll() {employeeService.deleteAll();return new ResponseEntity《》(HttpStatus.NO_CONTENT);}}
Linux Centos 7安装MongoDB(简单!详细!)
使用 概括几个常用的:
详解:
2. 验证安装结果 rpm -qa |grep mongodb 复制代码 rpm -ql mongodb-org-server 复制代码
启动MongoDB服务
MongoDB默认端口是27017,查看是否开启
检查数据库是否安装成功
4. 验证服务开启 mongo 复制代码
修改绑定ip默认127.0.0.1只允许本地连接, 所以修改为bindIp:0.0.0.0, 退出保存
方法一
方法二
默认连接
连接到自定义的用户
规则
说明
root
只在admin数据库中可用。超级账号,超级权限
Read
允许用户读取指定数据库
readWrite
允许用户读写指定数据库
dbAdmin
允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin
允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin
只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
readAnyDatabase
只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase
只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase
只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase
只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
java中怎么启动mongodb
public class MongoDBJDBC {public static void main(String args) {try {// 实例化Mongo对象,连接27017端口Mongo mongo = new Mongo("localhost", 27017);// 连接名为yourdb的数据库,假如数据库不存在的话,mongodb会自动建立DB db = mongo.getDB("test");// Get collection from MongoDB, database named "yourDB"// 从Mongodb中获得名为yourColleection的数据集合,如果该数据集合不存在,Mongodb会为其新建立DBCollection collection = db.getCollection("test1");// 使用BasicDBObject对象创建一个mongodb的document,并给予赋值。BasicDBObject document = new BasicDBObject();//document.put("id", 1001);//document.put("msg", "hello world mongoDB in Java");// 将新建立的document保存到collection中去//collection.insert(document);// 创建要查询的documentBasicDBObject searchQuery = new BasicDBObject();searchQuery.put("name", "chen");// 使用collection的find方法查找documentDBCursor cursor = collection.find(searchQuery);// 循环输出结果while (cursor.hasNext()) {System.out.println(cursor.next());}System.out.println("Hello World");} catch (UnknownHostException e) {e.printStackTrace();} catch (MongoException e) {e.printStackTrace();}}}
更多文章:
红色警戒2中国崛起中文版(红警中国崛起跟红警共和国之辉有什么区别啊)
2024年6月29日 09:30
美国vs威尔士比分(##美国1-1威尔士 小维阿破门贝尔救主)
2024年8月30日 02:10
罗技官方网站(为什么罗技官方网站网站打不开网络设置问题求助~)
2024年7月17日 07:06
innos锁屏密码忘了,该怎么解锁?innos是哪个国家的品牌
2024年6月24日 11:48