[MONGODB] MongoDB의에서 저장된 함수를 호출
MONGODBMongoDB의에서 저장된 함수를 호출
나는 MongoDB를 내 저장된 함수를 호출하는 어려움을 얻고있다. 나는 몽고와 약간의 초보자입니다.
[EDIT] 내 기능 MongoDB에 저장된
function() {
var cndTime = new Date().getTime() - (3600*1000*24*2); // condition
db.urls.find(needParse: false).forEach(function(item){
if(item.date < cndTime) // check
db.urls.update({_id: item._id}, {$set: { needParse: true }}); // update field
});
}
내가 부탁 해요 모든 reactivemongo 또는 네이티브 API를 사용하여이 함수를 호출하는 방법입니다.
해결법
-
==============================
1.첫째는 system.js 컬렉션에 echoFunction라는 함수를 저장하고 db.eval ()를 사용하여 함수를 호출하는 몽고 쉘에서 다음 예를 살펴 보겠습니다 :
첫째는 system.js 컬렉션에 echoFunction라는 함수를 저장하고 db.eval ()를 사용하여 함수를 호출하는 몽고 쉘에서 다음 예를 살펴 보겠습니다 :
db.system.js.save({ _id: "echoFunction", value: function (x) { return 'echo: ' + x; } }) db.eval("echoFunction('test')") // -> "echo: test"
echoFunction는 (...) 평가에서 사용할 수 있습니다 / / 맵리 듀스 등 더 많은 정보를 http://docs.mongodb.org/manual/tutorial/store-javascript-function-on-server에서 확인할 경우 $
-
==============================
2.몽고 쉘에서는 현재 데이터베이스에 대한 system.js 모음에 저장된 모든 스크립트를로드 할 수 db.loadServerScripts ()를 사용할 수 있습니다. 로드 된 후에는 다음의 예에서와 같이, 쉘에서 직접 함수를 호출 할 수 있습니다
몽고 쉘에서는 현재 데이터베이스에 대한 system.js 모음에 저장된 모든 스크립트를로드 할 수 db.loadServerScripts ()를 사용할 수 있습니다. 로드 된 후에는 다음의 예에서와 같이, 쉘에서 직접 함수를 호출 할 수 있습니다
db.loadServerScripts(); mySampleFunction(3, 5);
-
==============================
3.라는 특별한 시스템 모음이 있습니다
라는 특별한 시스템 모음이 있습니다
즉, 재사용 자바 스크립트 기능을 저장할 수 있습니다.
함수를 저장하려면, 당신은을 사용할 수 있습니다
다음 예제와 같이 :
db.system.js.save( { _id: "echoFunction", value : function(x) { return x; } } ); db.system.js.save( { _id : "myAddFunction" , value : function (x, y){ return x + y; } } );
_id 필드는 함수의 이름을 보유하고 데이터베이스 당 고유합니다.
값 필드 함수 정의 보유하고있다.
몽고 쉘에서는 사용할 수 있습니다
현재 데이터베이스에 대한 system.js 모음에 저장된 모든 스크립트를로드합니다. 로드 된 후에는 다음의 예에서와 같이, 쉘에서 직접 함수를 호출 할 수 있습니다 :
db.loadServerScripts(); echoFunction(3); myAddFunction(3, 5);
출처 : MongoDB의 설명서
-
==============================
4.이 같은 함수를 호출 할 수 있습니다
이 같은 함수를 호출 할 수 있습니다
db.loadServerScripts(); db.data.insert({ _id: myFunction(5), name: "TestStudent" });
내 기능은 DB 사용하여 명령에 저장되어있는 경우 :
db.system.js.save( { _id : "myFunction" , value : function (x){ return x + 1; } });
-
==============================
5.나는 당신이 일에 대한 경우 $를 사용할 필요가 있다고 생각! 이 같은:
나는 당신이 일에 대한 경우 $를 사용할 필요가 있다고 생각! 이 같은:
db.urls.find( { needParse: false, $where: function(item){ if(item.date < cndTime) // check db.urls.update({_id: item._id}, {$set: { needParse: true }});
자세한 내용은이 읽기 : https://docs.mongodb.com/manual/reference/operator/query/where/
from https://stackoverflow.com/questions/18185192/call-stored-function-in-mongodb by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 주변의 플레이어와 몽고의 순위 리더 (0) | 2019.12.25 |
---|---|
[MONGODB] 기존 컬렉션에 새 검사기를 추가 (0) | 2019.12.25 |
[MONGODB] 어떻게 맵리 듀스로 MongoDB를 중복 레코드를 제거하려면? (0) | 2019.12.25 |
[MONGODB] 가장 좋은 방법은 Node.js를를 사용하여 MongoDB에 연결하려면 [중복] (0) | 2019.12.25 |
[MONGODB] 어떻게 유성은 MongoDB를 즉시 변경 알 수 있을까? (0) | 2019.12.25 |