Node.js MongoDB架构-调用createIndex()设置expireAt时出错
我编写了模式,但在运行Node.js服务器时,出现了以下错误: MySchema.createIndex不是一个函数 我用它来设置记录的过期时间。这是我的代码:Node.js MongoDB架构-调用createIndex()设置expireAt时出错,node.js,mongodb,Node.js,Mongodb,我编写了模式,但在运行Node.js服务器时,出现了以下错误: 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 + c
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);
语法应该是
MySchema.index( { "expireAt": 1 }, { expireAfterSeconds: 180 } );
更一般的示例:-
var animalSchema = new Schema({
name: String,
type: String,
tags: { type: [String], index: true } // field level
});
animalSchema.index({ name: 1, type: -1 }); // schema level
语法应该是
MySchema.index( { "expireAt": 1 }, { expireAfterSeconds: 180 } );
更一般的示例:-
var animalSchema = new Schema({
name: String,
type: String,
tags: { type: [String], index: true } // field level
});
animalSchema.index({ name: 1, type: -1 }); // schema level
嗯,这个错误现在似乎不存在,但我不能继续,因为这是我的变量
tc
和te
的转换,失败了。。。通过使用Date.now
没有强制转换,但是.setSeconds
函数不可用。expireAt需要以毫秒为单位的日期(Date.now)或对象(new Date())?我只是在get Seconds:)中错过了()。谢天谢地,这个错误现在似乎不存在,但我不能继续,因为这是我的变量tc
和te
的转换,失败了。。。通过使用Date.now
没有强制转换,但是.setSeconds
函数不可用。expireAt需要以毫秒为单位的日期(Date.now)或对象(new Date())?我只是在get Seconds:)中错过了()。谢谢