當我啓動mongod進程時,如何將JavaScript庫作爲共享庫加載到mongodb中?在mongod啓動時加載JavaScript共享庫
我在搜索互聯網時找不到解決方案。我到目前爲止搜索的是:
- 是否有一個鉤子方法,我可以使用,所以我可以
load(...)
我的庫在啓動? - 我可以在啓動時將JavaScript庫傳遞給
mongod
進程嗎? - 我可以在啓動時傳遞mongodb配置文件中的JavaScript庫嗎?
我不知道是什麼,以及如何再搜索:-(任何想法,或者更好的任何解決方案?
當我啓動mongod進程時,如何將JavaScript庫作爲共享庫加載到mongodb中?在mongod啓動時加載JavaScript共享庫
我在搜索互聯網時找不到解決方案。我到目前爲止搜索的是:
load(...)
我的庫在啓動?mongod
進程嗎?我不知道是什麼,以及如何再搜索:-(任何想法,或者更好的任何解決方案?
可以使用system.js
集合來存儲的mongod的服務器上運行的JavaScript。它的作用像一個正常的集合,所以你可以添加的功能是這樣的:
db.system.js.save(
{
_id:"helloWorldFunction",
value: function() { return "Hello World!"}
}
爲了運行腳本,你應該叫db.loadServerScripts();
,然後你可以使用你的存儲功能
> db.loadServerScripts();
> helloWorldFunction()
Hello World!
欲瞭解更多信息,你可以檢查關於主題MongoDB Docs。
據我所知,每次啓動服務器時都必須插入函數。或者你知道我是否可以自動化嗎?首先感謝您的回覆。 – Elyasin
從我能找到的,沒有一種方法來指定一個JavaScript文件在mongod啓動時運行。 mongo(shell)啓動可以將JavaScript文件作爲參數,因此您可以在服務器啓動並運行後啓動mongod並創建一個腳本來運行mongo。 –
'load()'不會做你認爲它在這裏做的事情。這只是客戶獲取JavaScript函數的位置。您不應該將您的生產處理基於服務器JavaScript處理。這是一個「權宜之計」,而不是一個持續的解決方案。 –