① 如何連接linux下的mongodb
方法/步驟
想在shell中連接資料庫,首先要在連接數據的機器上安裝mongodb的客戶端才可以。客戶端的安裝在這里不再重復,自己網路或者google一下吧。連接mongodb的命令如下:
/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888
這個是我的資料庫配置,沒有設置用戶名密碼。所以直接通過該命令就可以連接。
連結後會有一個默認連接的資料庫。
mongodb常用命令:
查看資料庫命令:
show dbs;
查看集合命令:
show collections;
切換資料庫:
use databaseName;
查詢數據:
db.集合名.find()
插入數據:
db.集合名.insert({name:'test',age:1});
刪除:
db.test.remove();
如果我想通過shell腳本實現一個日誌分析並入庫的操作怎麼辦呢?簡單,如下操作就可以:
sql="db.test.insert({name:'test',age:1});"//定義執行的sqlecho "$sql"|/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888/test --shell
注意,echo命令中的格式必須這樣寫,管線命令後面的是是資料庫安裝地址 然後是ip:埠號,斜線後是資料庫名稱,--shell表示通過shell交互
② window7怎麼啟動mongodb服務
你好,
方法/步驟
1、登陸mongodb官網點擊右側的下載
2、選擇windows平台,如圖點擊需要的zip文件下載(筆者這里主要講訴zip文件的安裝)
legacy版本可以用於舊版本系統下安裝,這里不推薦。
3、將zip文件解壓放到盤符的根目錄(如C:或D:),為了方便建議文件夾命名盡量簡短如(d:\mongodb)
4、創建資料庫文件的存放位置,比如d:/mongodb/data/db。啟動mongodb服務之前需要必須創建資料庫文件的存放文件夾,否則命令不會自動創建,而且不能啟動成功。
5、打開cmd(windows鍵+r輸入cmd)命令行,進入D:\mongodb\bin目錄(如圖先輸入d:進入d盤然後輸入cd d:\mongodb\bin),
輸入如下的命令啟動mongodb服務:
D:/mongodb/bin>mongod --dbpath D:\mongodb\data\db
6、mongodb默認連接埠27017,如果出現如圖的情況,可以打開http://localhost:27017查看(筆者這里是chrome),發現如圖則表示連接成功,如果不成功,可以查看埠是否被佔用。
7、其實可以將MongoDB設置成Windows服務,這個操作就是為了方便,每次開機MongoDB就自動啟動了。
如圖在d:\mongodb\data下新建文件夾log(存放日誌文件)並且新建文件mongodb.log
在d:\mongodb新建文件mongo.config
8、用記事本打開mongo.config輸入:
dbpath=D:\mongodb\data\db
logpath=D:\mongodb\data\log\mongo.log
(圖片的logpath有錯誤)
用管理員身份打開cmd命令行,進入D:\mongodb\bin目錄,輸入如下的命令:
D:\mongodb\bin>mongod --config D:\mongodb\mongo.config
9、有人提醒改為如下:
mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"
如圖結果存放在日誌文件中,查看日誌發現已經成功。如果失敗有可能沒有使用管理員身份,遭到拒絕訪問。
10、打開cmd輸入services.msc查看服務可以看到MongoDB服務,點擊可以啟動。
③ 如何啟動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=//Mongoserverhost
spring.data.mongodb.port=//Mongoserverport
spring.data.mongodb.username=//Loginuser
spring.data.mongodb.password=//Password
spring.data.mongodb.database=//Databasename
一般來說,如果所有內容都是全新安裝的,並且你沒有更改或修改任何Mongo屬性,則只需提供一個資料庫名稱(已經通過GUI創建了一個資料庫名稱)。
spring.data.mongodb.database=EmployeeManager
另外,為了啟動Mongo實例,作者創建了一個.bat,它指向安裝文件夾和數據文件夾。它是這樣的:"C:ProgramFilesMongoDBServer3.6inmongod"--dbpathD:-datadb
現在,我們來快速創建模型。這里有兩個模型,員工模型和部門模型。檢查它們,確保有沒有參數、getter、setter、equals方法和hashCode生成的構造函數。(不用擔心,所有代碼都在GitHub上,你可以稍後查看它:https://github.com/theFaustus/EmployeeManager。)
publicclassEmployee{
privateStringemployeeId;
privateStringfirstName;
privateStringlastName;
privateintage;
}
publicclassDepartment{
privateStringdepartment;
privateStringname;
privateStringdescription;
privateList<Employee>employees;
}
現在我們已經完成了模型的製作,讓我們來創建存儲庫,以便來測試持久性。存儲庫如下所示:
extendsMongoRepository<Employee,String>{
}
extendsMongoRepository<Department,String>{
}
如上所示,這里沒有方法,因為大家都知道Spring Data中的中心介面被命名為Repository,在其之上是CrudRepository,它提供了處理模型的基本操作。在CrudRepository之上,我們有PagingAndSortingRepository,它為我們提供了一些擴展功能,來簡化分頁和排序訪問。在我們的案例中,最重要的是MongoRepository,它用於嚴格處理我們的Mongo實例。因此,對於我們的案例來說,除了那些現成的方法外,我們不需要任何其他方法,但是僅出於學習目的,作者在這里要提到的是你可以添加其他查詢方法的兩種方法:
@Query("{'firstname':?0}")
List<Employee>findByTheEmployeesFirstname(Stringfirstname);
@(,){
return(args)->{
employeeRepository.deleteAll();
departmentRepository.deleteAll();
Employeee=employeeRepository.save(newEmployee("Ion","Pascari",23));
departmentRepository.save(newDepartment("ServiceDepartment","ServiceRocks!",Arrays.asList(e)));
for(Departmentd:departmentRepository.findAll()){
LOGGER.info("Department:"+d);
}
};
}
{
EmployeesaveEmployee(Employeee);
EmployeefindByEmployeeId(StringemployeeId);
voiddeleteByEmployeeId(StringemployeeId);
voipdateEmployee(Employeee);
booleanemployeeExists(Employeee);
List<Employee>findAll();
voiddeleteAll();
}
@{
@Autowired
private;
@Override
publicEmployeesaveEmployee(Employeee){
returnemployeeRepository.save(e);
}
@Override
(StringemployeeId){
returnemployeeRepository.findOne(employeeId);
}
@Override
publicvoiddeleteByEmployeeId(StringemployeeId){
employeeRepository.delete(employeeId);
}
@Override
publicvoipdateEmployee(Employeee){
employeeRepository.save(e);
}
@Override
publicbooleanemployeeExists(Employeee){
returnemployeeRepository.exists(Example.of(e));
}
@Override
publicList<Employee>findAll(){
returnemployeeRepository.findAll();
}
@Override
publicvoiddeleteAll(){
employeeRepository.deleteAll();
}
}
@RestController
@RequestMapping("/employees")
publicclassEmployeeController{
@Autowired
;
@RequestMapping(value="/list/",method=RequestMethod.GET)
publicHttpEntity<List<Employee>>getAllEmployees(){
List<Employee>employees=employeeService.findAll();
if(employees.isEmpty()){
returnnewResponseEntity<>(HttpStatus.NO_CONTENT);
}else{
returnnewResponseEntity<>(employees,HttpStatus.OK);
}
}
@RequestMapping(value="/employee/{id}",method=RequestMethod.GET)
publicHttpEntity<Employee>getEmployeeById(@PathVariable("id")StringemployeeId){
EmployeebyEmployeeId=employeeService.findByEmployeeId(employeeId);
if(byEmployeeId==null){
returnnewResponseEntity<>(HttpStatus.NOT_FOUND);
}else{
returnnewResponseEntity<>(byEmployeeId,HttpStatus.OK);
}
}
@RequestMapping(value="/employee/",method=RequestMethod.POST)
publicHttpEntity<?>saveEmployee(@RequestBodyEmployeee){
if(employeeService.employeeExists(e)){
returnnewResponseEntity<>(HttpStatus.CONFLICT);
}else{
Employeeemployee=employeeService.saveEmployee(e);
URIlocation=ServletUriComponentsBuilder.fromCurrentRequest().path("/employees/employee/{id}")
.buildAndExpand(employee.getEmployeeId()).toUri();
HttpHeadershttpHeaders=newHttpHeaders();
httpHeaders.setLocation(location);
returnnewResponseEntity<>(httpHeaders,HttpStatus.CREATED);
}
}
@RequestMapping(value="/employee/{id}",method=RequestMethod.PUT)
publicHttpEntity<?>updateEmployee(@PathVariable("id")Stringid,@RequestBodyEmployeee){
EmployeebyEmployeeId=employeeService.findByEmployeeId(id);
if(byEmployeeId==null){
returnnewResponseEntity<>(HttpStatus.NOT_FOUND);
}else{
byEmployeeId.setAge(e.getAge());
byEmployeeId.setFirstName(e.getFirstName());
byEmployeeId.setLastName(e.getLastName());
employeeService.updateEmployee(byEmployeeId);
returnnewResponseEntity<>(employeeService,HttpStatus.OK);
}
}
@RequestMapping(value="/employee/{id}",method=RequestMethod.DELETE)
publicResponseEntity<?>deleteEmployee(@PathVariable("id")StringemployeeId){
employeeService.deleteByEmployeeId(employeeId);
returnnewResponseEntity<>(HttpStatus.NO_CONTENT);
}
@RequestMapping(value="/employee/",method=RequestMethod.DELETE)
publicResponseEntity<?>deleteAll(){
employeeService.deleteAll();
returnnewResponseEntity<>(HttpStatus.NO_CONTENT);
}
}
④ 怎樣在linux的shell腳本中連接mongodb插入
想在shell中連接資料庫,首先要在連接數據的機器上安裝mongodb的客戶端才可以。客戶端的安裝在這里不再重復,自己網路或者google一下吧。連接mongodb的命令如下:
/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888
這個是我的資料庫配置,沒有設置用戶名密碼。所以直接通過該命令就可以連接。
連結後會有一個默認連接的資料庫。
mongodb常用命令:
查看資料庫命令:
show dbs;
查看集合命令:
show collections;
切換資料庫:
use databaseName;
查詢數據:
db.集合名.find()
插入數據:
db.集合名.insert({name:'test',age:1});
刪除:
db.test.remove();
sql="db.test.insert({name:'test',age:1});"//定義執行的sqlecho "$sql"|/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888/test --shell
注意,echo命令中的格式必須這樣寫,管線命令後面的是是資料庫安裝地址 然後是ip:埠號,斜線後是資料庫名稱,--shell表示通過shell交互!
⑤ MongoDB怎樣批量執行命令
沒有這種操作,因為MongoDB的底層就不支持這種操作。
從MongoDB的oplog模式中可以看出,MongoDB的每次op都是獨立執行的最小單元,因此,不會存在多個op組合成一個執行的情況。因此在各種API中都不會存在這種批量插入的操作。
⑥ 關於MongoDB的查詢命令
db.[YourCollectionName].find();
⑦ 怎麼連接mongodb的資料庫
MongoDB是由10gen團隊開發的基於分布式存儲的開源資料庫系統,使用C++編寫。MongoDB作為一個文檔型資料庫,其中數據以鍵值對的方式來存儲。
下面我們來看下MogoDB的基本使用方法。
1、連接MongoDB資料庫
使用如下命令來連接MongoDB資料庫
mongo
刪除資料庫
⑧ linux怎麼連接mongodb資料庫
想在shell中連接資料庫,首先要在連接數據的機器上安裝mongodb的客戶端才可以。客戶端的安裝在這里不再重復,自己網路或者google一下吧。連接mongodb的命令如下:/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888
這個是我的資料庫配置,沒有設置用戶名密碼。所以直接通過該命令就可以連接。
連結後會有一個默認連接的資料庫。
mongodb常用命令:
查看資料庫命令:
show dbs;
查看集合命令:
show collections;
切換資料庫:
use databaseName;
查詢數據:
db.集合名.find()
插入數據:
db.集合名.insert({name:'test',age:1});
刪除:
db.test.remove();
sql="db.test.insert({name:'test',age:1});"//定義執行的sqlecho "$sql"|/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888/test --shell
注意,echo命令中的格式必須這樣寫,管線命令後面的是是資料庫安裝地址 然後是ip:埠號,斜線後是資料庫名稱,--shell表示通過shell交互!
⑨ mongodb 命令行用什麼命令查詢Collection文檔結構
成功啟動MongoDB後,再打開一個命令行窗口輸入mongo,就可以進行資料庫的一些操作。
輸入help可以看到基本操作命令:
show dbs:顯示資料庫列表
show collections:顯示當前資料庫中的集合(類似關系資料庫中的表)
show users:顯示用戶!