mongodb에 조건을 저장하고 쿼리하고 검사 한 다음 조건 확인의 결과로 작업을 수행하는 방법을 찾고 있습니다. 여기Mongodb의 유연한 전자 메일 알림 조건
우선 내가
{
"name": "My Event",
"created": 1490726092221,
"startDate": 1490726092221,
"endDate": 1490726097810,
"notifications": [
{
"message": "{event.Name} Created", // message template
"status": 0, // 0=initialized 1=failed 2=sent
"sendDate": null, // date that the notification was sent
"sentTo": ["c2a34dfg32c1d4583e73a123"] //members to send notification to
"criteria": {
"script": "event.created >= 0 && this.status < 2"
}
}
],
"members": [
{
"_id": "c2a34dfg32c1d4583e73a123" // Reference to the user
}
]
}
사용 사례를 고려하고 이벤트 객체의 예입니다, 나는 이벤트에 대한 알림을 customizated 갖고 싶어. 그래서 이벤트가 스케줄 된 경우, 이벤트 시작일이 며칠 내에있을 때, 멤버가 조인 할 때 등과 같은 이벤트가 생성 될 때 알림을받을 수 있습니다.이 모든 것을 자바 스크립트 함수로 코딩하고 열거 형으로 해당 이벤트에 대응할 수 있습니다 알림 기준에 대해 또는 특정 이벤트가 발생할 때를위한 후크가있는 경우 이는 엄격한 접근 방식처럼 보입니다.
내가 상상하고있는 것은 문서에 문자열로 저장 될 수있는 쿼리 언어이며, 쿼리 및 평가가 가능하며 알림을 트리거하기위한 부울을 반환합니다.
스크립트는 이벤트를 입력 변수로 가질뿐만 아니라 스크립트에 사용할 수있는 몇 가지 특수한 입력 변수가 필요합니다.
이것은 자바 스크립트와 eval()
을 사용하여 수행 할 수 있지만 그게 무서워요. 이 유스 케이스에 사용할 수있는 다른 도구가 있습니까? 또는이 문제에 대한 더 나은 접근 방법에 대한 제안이 있습니까?
이 답변에 나와있는 것과 같은 일을 연구하여 시작할 것 : { 스크립트 : "someScript.js" } like'require ("/../ notification-scripts /"+ doc.criteria.script)() " –
괜찮은 생각입니다. 그래도 하드 코드 된 스크립트가 필요합니다. 내 목표는 사용자가 만든 알림 집합을 만드는 것입니다. 어떤 작업을 안전하게 수행하기가 어려우므로 끝내야 할 수도 있습니다. – Sup3rb0wlz