1. 程式人生 > >mongodb shell 執行js指令碼的四種方式

mongodb shell 執行js指令碼的四種方式



1. 互動式 mongo shell大部分的 mongodb 教程,在第一章都會講解這種方式。mongo 127.0.0.1:27017use testdb.users.findOne()
2. mongo --eval 執行一段指令碼不進入互動模式,直接在 OS 的命令列下執行一段mongodb指令碼。mongo 127.0.0.1:27017/test --eval "printjson(db.users.findOne())"
3. 在OS命令列下,執行一個js檔案mongo 127.0.0.1:27017/test userfindone.jsuserfindone.js 的內容:printjson(db.users.findOne());
4. 在mongo shell 互動模式下,執行一個js檔案
mongo testload("/root/mongojs/userfindone.js")load() 引數中的檔案路徑,既可以是相對路徑,也可以是絕對路徑。在mongo shell下檢視當前工作路徑的方法: pwd( )當前工作路徑就是我們啟動mongo shell時,當前使用者所處的路徑。例如:[[email protected] mongojs]# pwd/root/mongojs[[email protected] mongojs]# mongoMongoDB shell version: 2.6.12connecting to: test> pwd()/root/mongojs>在js檔案中建立資料庫連線
上面所有的例子,都是在執行mongo命令時,直接連線資料庫 (127.0.0.1:27017/test)。 我們也可以在js指令碼中建立資料庫連線,上面的第三種方法可以這麼寫:userfindone.js 檔案內容:conn = new Mongo("127.0.0.1:27017");db = conn.getDB("test");printjson(db.users.findOne());在命令列下執行:mongo --nodb userfindone.js

注意:以上所有命令,如果連線的資料庫是 127.0.0.1:27017 ,則,主機和埠可以省略,例如:mongo test --eval "printjson(db.users.findOne())"

在js檔案中include其他js檔案

方法:使用上面第四種方法介紹的load命令。

原理:大部分的mongo shell命令都可以在js檔案中使用,load命令也不例外。

例如:

[javascript] view plain copy
  1. //utils.js
  2. function sum(a,b) {  
  3.     return a + b;  
  4. }  

[javascript] view plain copy
  1. //dosomething.js
  2. load("utils.js");  
  3. var a = 17;  
  4. var b = 48;  
  5. sum(a+b);  
1. 互動式 mongo shell大部分的 mongodb 教程,在第一章都會講解這種方式。mongo 127.0.0.1:27017use testdb.users.findOne()
2. mongo --eval 執行一段指令碼不進入互動模式,直接在 OS 的命令列下執行一段mongodb指令碼。mongo 127.0.0.1:27017/test --eval "printjson(db.users.findOne())"
3. 在OS命令列下,執行一個js檔案mongo 127.0.0.1:27017/test userfindone.jsuserfindone.js 的內容:printjson(db.users.findOne());
4. 在mongo shell 互動模式下,執行一個js檔案mongo testload("/root/mongojs/userfindone.js")load() 引數中的檔案路徑,既可以是相對路徑,也可以是絕對路徑。在mongo shell下檢視當前工作路徑的方法: pwd( )當前工作路徑就是我們啟動mongo shell時,當前使用者所處的路徑。例如:[[email protected] mongojs]# pwd/root/mongojs[[email protected] mongojs]# mongoMongoDB shell version: 2.6.12connecting to: test> pwd()/root/mongojs>在js檔案中建立資料庫連線上面所有的例子,都是在執行mongo命令時,直接連線資料庫 (127.0.0.1:27017/test)。 我們也可以在js指令碼中建立資料庫連線,上面的第三種方法可以這麼寫:userfindone.js 檔案內容:conn = new Mongo("127.0.0.1:27017");db = conn.getDB("test");printjson(db.users.findOne());在命令列下執行:mongo --nodb userfindone.js

注意:以上所有命令,如果連線的資料庫是 127.0.0.1:27017 ,則,主機和埠可以省略,例如:mongo test --eval "printjson(db.users.findOne())"

在js檔案中include其他js檔案

方法:使用上面第四種方法介紹的load命令。

原理:大部分的mongo shell命令都可以在js檔案中使用,load命令也不例外。

例如:

[javascript] view plain copy
  1. //utils.js
  2. function sum(a,b) {  
  3.     return a + b;  
  4. }  

[javascript] view plain copy
  1. //dosomething.js
  2. load("utils.js");  
  3. var a = 17;  
  4. var b = 48;  
  5. sum(a+b);