0
を設定するために、私は私のスキーマを書いたが、私は私のNode.jsサーバーを実行すると、次のエラーが表示されている:MongoDBのスキーマ - CREATEINDEXを呼び出し、エラー()expireAt
ではありませんMySchema.createIndexが機能
私はレコードの期限を設定するためにそれを使用しています。これは私のコードです:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var config = require('../../config.js');
var tc = new Date();
var te = tc.setSeconds(tc.getSeconds + config.EXPIRE_TOKEN_TIME.ROOM_TOKEN);
var MySchema = new Schema({
name: String,
guide: String,
leader: String,
partecipants_counter : { type: Number, default: 0},
event_counter : { type: Number, default: 0},
createAt: { type: Date, default: tc},
expireAt: { type: Date, default: te},
partecipants: [],
events : [ {
id : Number,
data: String,
user: String
} ]
});
MySchema.createIndex({ "expireAt": 1 }, { expireAfterSeconds: 180 });
module.exports = mongoose.model(config.DATA_TYPE.ROOM, MySchema);
、「はエラーが今存在していないように思わが、私はできます私の変数 'tc'と' te'のキャストが失敗するので、前進します... 'Date.now'を使うことによってキャストはありませんが、' .setSeconds'関数は利用できません。 – pittuzzo
expireAtは、Dateをms(Date.now)またはObject(new Date())で指定しますか? – pittuzzo
私はちょうど(秒)を取得:)でミス。ありがとう – pittuzzo