키가있는 스키마가있는 경우 expires
; 문서가 업데이트 될 때마다 자동으로 업데이트되도록 해당 키 값을 어떻게 얻을 수 있습니까? 이것은 더 복잡 할 수도 있지만, upsert
ing이므로이 값은 초기에 insert
으로 설정하고 각 upsert
에서 업데이트해야합니다. 문서가 insert
에드 때Mongodb의 Upsert에서 타임 스탬프 자동 업데이트 방법
그래서 :
{
expires: *an hour from the insert*
}
을하고 update
d는 (upsert
통해) 때 : 나는 몽구스를 사용하고
{
expires: *an hour from the update*
}
그 내장이 기능이있는 경우. Mongodb이 그것을 지원하지 않거나 Mongoose를 수행하지 않는다면 expires:
을 수정하고 값을 업데이트해야하지만 Mongodb에서 자동으로 수행하는 것이 좋을 것입니다!
사실, 은 실제로인데 insert
에서 작업해야합니다. expires
이 비어 있는지 확인하고 _id
에서 시간을 추출 할 수 있습니다.
언제나처럼, 어떤 도움을 주셔서 감사합니다!
var expires = new Date();
expires.setHours(expires.getHours() + 1);
MyModel.update({...}, {$set: {expires: expires, ...}}, {upsert: true}, callback);
를 또한 내가 사용 사례를 모르는,하지만 당신은 몽고의 내장 보라 : 당신은 스스로를해야 할 것입니다, 그래서
실제로 좋은 아이디어 일 수 있습니다. OAuth 토큰이 만료 될 때 (내 경우에는 한 시간)를 알아야합니다. access_token의 값만 만료시킬 수 있습니까 (TTL?)? 그렇다면 _id가 존재하고 refresh_token도 그렇지만 access_token이 만료 되었다면 새로운 access_token을 요청할 것입니다. –
@JonathonOates 당신이 요구하는 것이 확실치 않지만 MongoDB의 만료는 개별 필드가 아닌 문서 수준에서 발생합니다. – JohnnyHK
직접 업데이트해야합니다. 내가 특정 키의 가치를 만료시킬 수 있기를 바랬다. –