[MONGODB] 몽구스의 어떤 SchemaType는 타임 스탬프에 가장 적합합니다?
MONGODB몽구스의 어떤 SchemaType는 타임 스탬프에 가장 적합합니다?
나는 몽구스, MongoDB를, 그리고 노드를 사용하고 있습니다.
나는 그것의 필드 중 하나가 날짜 \ 타임 스탬프 인 스키마를 정의하고 싶습니다.
나는 최근 5 분에 업데이트 된 모든 레코드를 반환하기 위해이 필드를 사용하고 싶습니다.
때문에 몽구스에 내가 내 유일한 옵션은 다음과 같은 자바 스크립트 방법을 사용하는 것을 이해 타임 스탬프 () 메소드를 사용할 수 없다는 사실 :
time : { type: Number, default: (new Date()).getTime() }
그것은 아마 엄청난 DB를 조회하기위한 가장 효율적인 방법이 아니다. 누군가가이 구현하는 더 효율적인 방법을 공유 할 수 있다면 정말 감사하겠습니다.
몽구스와이를 구현하고 MongoDB의 타임 스탬프를 사용할 수있는 방법이 있습니까?
해결법
-
==============================
1.편집 - 2016 3월 20일
편집 - 2016 3월 20일
컬렉션에 대한 타임 스탬프를 지원 이제 몽구스.
아래 @bobbyz의 대답을 고려하시기 바랍니다. 어쩌면이 당신을 위해 무엇을 찾고 있습니다.
몽구스 (기본적으로 타임 스탬프) 날짜 형식을 지원합니다 :
time : { type : Date, default: Date.now }
위의 필드 정의를 사용하면 설정되지 않은 시간 필드에 문서를 저장할 때마다, 몽구스는 현재 시간과 함께이 분야에서 채울 것입니다.
출처 : http://mongoosejs.com/docs/guide.html
-
==============================
2.몽구스 (4.x 버전)의 현재 버전은 시간으로 스탬핑을가 내장되어 스키마에 대한 옵션 :
몽구스 (4.x 버전)의 현재 버전은 시간으로 스탬핑을가 내장되어 스키마에 대한 옵션 :
var mySchema = new mongoose.Schema( {name: String}, {timestamps: true} );
이 옵션은 날짜와 시간 소인이 표시됩니다 createdAt 및 updatedAt 속성을 추가하고, 당신을 위해 모든 작업을 수행한다. 문서를 업데이트 할 때마다, 그것은 updatedAt 속성을 업데이트합니다. 스키마 타임 스탬프 문서.
-
==============================
3.
var ItemSchema = new Schema({ name : { type: String } }); ItemSchema.set('timestamps', true); // this will add createdAt and updatedAt timestamps
문서 도구 : https://mongoosejs.com/docs/guide.html#timestamps
-
==============================
4.경우에 당신은 당신의 createdAt 및 updatedAt에 대한 사용자 정의 이름을 원하는
경우에 당신은 당신의 createdAt 및 updatedAt에 대한 사용자 정의 이름을 원하는
const mongoose = require('mongoose'); const { Schema } = mongoose; const schemaOptions = { timestamps: { createdAt: 'created_at', updatedAt: 'updated_at' }, }; const mySchema = new Schema({ name: String }, schemaOptions);
-
==============================
5.이 방법은 객체 저장 "지금"때마다 당신을 날짜를 업데이트해야합니다. Moongoose 만들 수정 플러그인 : 어쩌면 당신은이 유용한를 찾을 수 있습니다
이 방법은 객체 저장 "지금"때마다 당신을 날짜를 업데이트해야합니다. Moongoose 만들 수정 플러그인 : 어쩌면 당신은이 유용한를 찾을 수 있습니다
-
==============================
6.첫째 : NPM은 몽구스 - 타임 스탬프를 설치
첫째 : NPM은 몽구스 - 타임 스탬프를 설치
다음 : ( '몽구스 - 타임 스탬프') 타임 스탬프를하자 = 필요
다음 : MYSCHEMA = 새 스키마를 보자
다음 : MySchema.plugin (타임 스탬프)
다음 : 컬렉션 = mongoose.model CONST ( '컬렉션', MYSCHEMA)
그럼 당신은 어디서나 희망을 Collection.createdAt 또는 Collection.updatedAt를 사용할 수 있습니다.
금주 월 일 년 0시 0 분 0 초 GMT보다 날짜 :에 만든
시간이 형식으로되어 있습니다.
from https://stackoverflow.com/questions/10006218/which-schematype-in-mongoose-is-best-for-timestamp by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를 가진 유닛 테스트 (0) | 2019.12.28 |
---|---|
[MONGODB] 어떻게 몽구스의 원시 MongoDB의 작업을 할까? (0) | 2019.12.28 |
[MONGODB] 탄성 콩 줄기에서 Mongos은 설치 / 설정 (0) | 2019.12.28 |
[MONGODB] 몽고는 : 특정 필드가없는 항목을 찾을 수 (0) | 2019.12.28 |
[MONGODB] 응용 프로그램에서 불을 몽구스 모든 쿼리를 기록 (0) | 2019.12.28 |