[MONGODB] 몽구스를 사용하여 MongoDB의 컬렉션에 대한 만료 시간 설정
MONGODB몽구스를 사용하여 MongoDB의 컬렉션에 대한 만료 시간 설정
다음 모음 만료 시간 (a TTL)를 설정 몽고 단자를 통해 사용될 수있는 명령은 :
db.log.events.ensureIndex( { "status": 1 }, { expireAfterSeconds: 3600 } )
어떻게 몽구스를 사용하여 Node.js를 내 코드에서이 작업을 수행합니까?
해결법
-
==============================
1.(가) 해당 필드의 스키마 정의에 속성을 만료를 통해 몽구스, 당신은 날짜 필드에 TTL 인덱스를 만들 :
(가) 해당 필드의 스키마 정의에 속성을 만료를 통해 몽구스, 당신은 날짜 필드에 TTL 인덱스를 만들 :
// expire docs 3600 seconds after createdAt new Schema({ createdAt: { type: Date, expires: 3600 }});
그 참고 :
-
==============================
2.이 코드는 나를 위해 노력하고 있습니다.
이 코드는 나를 위해 노력하고 있습니다.
그것은 도움이 될 수 있습니다
let currentSchema = mongoose.Schema({ id: String, name: String, packageId: Number, age: Number }, {timestamps: true}); currentSchema.index({createdAt: 1},{expireAfterSeconds: 3600});
-
==============================
3.에 또한 만료 당신은 시간 계산을 만료 처리 및 스키마의 전반적인 가독성을 향상하고 싶지 않은 경우 몽구스와 함께 잘 작동하는 문자열을 제공.
에 또한 만료 당신은 시간 계산을 만료 처리 및 스키마의 전반적인 가독성을 향상하고 싶지 않은 경우 몽구스와 함께 잘 작동하는 문자열을 제공.
여기에 예를 들어 우리는 (2 분) 2M에 만료 설정하는 경우 몽구스 우리 120 초로 변환합니다 :
var TestSchema = new mongoose.Schema({ name: String, createdAt: { type: Date, expires: '2m', default: Date.now } });
몽구스는 2m로 지정 (이 경우 120 초 배경과 자동 설정합니다 expireAfterSeconds에서 인덱스를 만들 것
-
==============================
4.NPM 라이브러리가있다 - '몽구스-TTL'은 :
NPM 라이브러리가있다 - '몽구스-TTL'은 :
var schema = new Schema({..}); schema.plugin(ttl, { ttl: 5000 });
이 라이브러리의 모든 옵션을 볼 수 있습니다 : https://www.npmjs.com/package/mongoose-ttl
from https://stackoverflow.com/questions/14597241/setting-expiry-time-for-a-collection-in-mongodb-using-mongoose by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 유성의 평균 집계 쿼리 (0) | 2019.12.04 |
---|---|
[MONGODB] MongoDB의 문서에서 하위 문자열 대체하는 방법 (0) | 2019.12.04 |
[MONGODB] MongoDB의에서 문자열 필드 값의 길이 (0) | 2019.12.04 |
[MONGODB] 어떻게 유성 문서 작업의 메시지 카운트 예는 무엇입니까? (0) | 2019.12.04 |
[MONGODB] 어떻게 스키마를 정의하지 않고 몽구스를 사용합니까? (0) | 2019.12.04 |