정기적으로 리소스를 폴링하고 데이터베이스에 저장된 응답을 가져 오는 스크립트와 함께 작동하는 MongoDB 데이터베이스를 디자인하고 있습니다. 현재 데이터베이스에는 id, 이름, 타임 스탬프 및 데이터의 네 개의 필드가 포함 된 컬렉션이 하나 있습니다.MongoDB 데이터베이스의 변경 내용을 검색합니다.
스크립트 실행 사이의 데이터 필드에 어떤 이름이 변경되었는지를 확인할 수 있어야합니다. 의사에서 ,
if(data[name][timestamp]==data[name][timestamp+1]) //data has not changed
store data in collection 1
else //data has changed between script runs for this name
store data in collection 2
는 반복하고 컬렉션의 각 항목을 통해 자바 스크립트를 실행하지 않고이 작업을 수행 할 수있는 쿼리가 있습니까? 수백만 개의 문서가 있으므로 매우 느립니다.
스크립트가 실행될 때마다 타임 스탬프이라는 새 컬렉션을 만들어야합니까? 그것은 더 빨리/더 조직화 될까요? 사용할 수있는 더 나은 스키마가 있습니까?
스크립트는 하루에 한 번 실행되므로 언제든지 네임 스페이스 제한이 적용되지 않습니다.