TypeError: Session.createIndex is not a function

huangapple go评论67阅读模式
英文:

TypeError: Session.createIndex is not a function

问题

我正在使用MongoDB和Mongoose作为我的数据库。现在我想做的是在指定的时间后删除一个集合。以下是我尝试过的代码:

const Session = mongoose.model("session", {
    key: String
})
Session.createIndex({ expireAfterSeconds: 60 * 60 * 15 })

但它没有起作用,我得到了以下错误:

TypeError: Session.createIndex is not a function

要修复这个问题,你可以使用以下代码示例来创建一个在一定时间后自动删除的集合:

const mongoose = require('mongoose');

const sessionSchema = new mongoose.Schema({
    key: String,
}, { timestamps: true });

sessionSchema.index({ createdAt: 1 }, { expireAfterSeconds: 60 * 60 * 15 });

const Session = mongoose.model("Session", sessionSchema);

// 现在你的"Session"模型将在创建后的15小时内自动过期并被删除。

使用这段代码,你的"Session"模型将在创建后的15小时内自动过期并被MongoDB删除。

英文:

I m using mongodb and mongoose for my database.
Now want I want to do is remove a collection after a specified time.
Here's what I tried:

const Session = mongoose.model("session", {
    key: String
})
Session.createIndex({ expireAfterSeconds: 60 * 60 * 15 } )

It didn't work
I just get this error:

TypeError: Session.createIndex is not a function

What can I do to fix it?
I would appreciate a example by editing my code and pasting it in answer,

答案1

得分: 0

createIndex 是在 MongoDb 中使用的函数。这里,你正在提到 mongoose。

我相信你想要使用 mongoose Model 类的 createIndexes 函数。
文档链接

英文:

createIndex is a function used in MongoDb. Here, you are addressing mongoose.

I believe you wanted to use createIndexes function of mongoose Model class.
Documentation

huangapple
  • 本文由 发表于 2023年2月16日 18:09:23
  • 转载请务必保留本文链接:https://go.coder-hub.com/75470688.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定