복붙노트

[MONGODB] 몽구스의 어떤 SchemaType는 타임 스탬프에 가장 적합합니다?

MONGODB

몽구스의 어떤 SchemaType는 타임 스탬프에 가장 적합합니다?

나는 몽구스, MongoDB를, 그리고 노드를 사용하고 있습니다.

나는 그것의 필드 중 하나가 날짜 \ 타임 스탬프 인 스키마를 정의하고 싶습니다.

나는 최근 5 분에 업데이트 된 모든 레코드를 반환하기 위해이 필드를 사용하고 싶습니다.

때문에 몽구스에 내가 내 유일한 옵션은 다음과 같은 자바 스크립트 방법을 사용하는 것을 이해 타임 스탬프 () 메소드를 사용할 수 없다는 사실 :

time : { type: Number, default: (new Date()).getTime() } 

그것은 아마 엄청난 DB를 조회하기위한 가장 효율적인 방법이 아니다. 누군가가이 구현하는 더 효율적인 방법을 공유 할 수 있다면 정말 감사하겠습니다.

몽구스와이를 구현하고 MongoDB의 타임 스탬프를 사용할 수있는 방법이 있습니까?

해결법

  1. ==============================

    1.편집 - 2016 3월 20일

    편집 - 2016 3월 20일

    컬렉션에 대한 타임 스탬프를 지원 이제 몽구스.

    아래 @bobbyz의 대답을 고려하시기 바랍니다. 어쩌면이 당신을 위해 무엇을 찾고 있습니다.

    몽구스 (기본적으로 타임 스탬프) 날짜 형식을 지원합니다 :

    time : { type : Date, default: Date.now }
    

    위의 필드 정의를 사용하면 설정되지 않은 시간 필드에 문서를 저장할 때마다, 몽구스는 현재 시간과 함께이 분야에서 채울 것입니다.

    출처 : http://mongoosejs.com/docs/guide.html

  2. ==============================

    2.몽구스 (4.x 버전)의 현재 버전은 시간으로 스탬핑을가 내장되어 스키마에 대한 옵션 :

    몽구스 (4.x 버전)의 현재 버전은 시간으로 스탬핑을가 내장되어 스키마에 대한 옵션 :

    var mySchema = new mongoose.Schema( {name: String}, {timestamps: true} );
    

    이 옵션은 날짜와 시간 소인이 표시됩니다 createdAt 및 updatedAt 속성을 추가하고, 당신을 위해 모든 작업을 수행한다. 문서를 업데이트 할 때마다, 그것은 updatedAt 속성을 업데이트합니다. 스키마 타임 스탬프 문서.

  3. ==============================

    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. ==============================

    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. ==============================

    5.이 방법은 객체 저장 "지금"때마다 당신을 날짜를 업데이트해야합니다. Moongoose 만들 수정 플러그인 : 어쩌면 당신은이 유용한를 찾을 수 있습니다

    이 방법은 객체 저장 "지금"때마다 당신을 날짜를 업데이트해야합니다. Moongoose 만들 수정 플러그인 : 어쩌면 당신은이 유용한를 찾을 수 있습니다

  6. ==============================

    6.첫째 : NPM은 몽구스 - 타임 스탬프를 설치

    첫째 : NPM은 몽구스 - 타임 스탬프를 설치

    다음 : ( '몽구스 - 타임 스탬프') 타임 스탬프를하자 = 필요

    다음 : MYSCHEMA = 새 스키마를 보자

    다음 : MySchema.plugin (타임 스탬프)

    다음 : 컬렉션 = mongoose.model CONST ( '컬렉션', MYSCHEMA)

    그럼 당신은 어디서나 희망을 Collection.createdAt 또는 Collection.updatedAt를 사용할 수 있습니다.

    금주 월 일 년 0시 0 분 0 초 GMT보다 날짜 :에 만든

    시간이 형식으로되어 있습니다.

  7. from https://stackoverflow.com/questions/10006218/which-schematype-in-mongoose-is-best-for-timestamp by cc-by-sa and MIT license