Mid*_*ddi 9 mongoose mongodb node.js
一小时后如何从我的 mongo 数据库中删除项目?
我见过
db.Item.createIndex({ "createdAt": 1 }, { expireAfterSeconds: 3600 })
Run Code Online (Sandbox Code Playgroud)
抛出,但我如何在 nodejs 中实现它?
我的数据库条目看起来像这样
{
"_id": {
"$oid": "5b4b64bc8c6e8add083431a3"
},
"location": {
"lat": 59.924209956924315,
"lng": 10.70636168616943
},
"name": "Richard Middleton",
"address": "Espresso House",
"message": "sdsd",
"createdAt": {
"$date": "2018-07-15T15:14:04.573Z"
},
"updatedAt": {
"$date": "2018-07-15T15:14:04.573Z"
},
Run Code Online (Sandbox Code Playgroud)
我尝试在我的 db.Item.find() 之前为我的 get 请求运行它,但没有运气。
小智 12
创建索引的两种方式。第一的
const Schema = mongoose.Schema;
let user = new Schema({
email: {
type: String,
required: true,
index: true //---Index----
});
module.exports = mongoose.model('User', user);
Run Code Online (Sandbox Code Playgroud)
第二种方法
const Schema = mongoose.Schema;
let user = new Schema({
email: {
type: String,
required: true
});
user.index({ email: 1 }); //---Index----
module.exports = mongoose.model('User', user);
Run Code Online (Sandbox Code Playgroud)
执行此操作时,如果您收到警告(我使用的是 MongoDB:4.2.8 和 Mongoose:5.9.20)
DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
Run Code Online (Sandbox Code Playgroud)
然后您可能需要将“useCreateIndex: true”添加到您的 mongoose.connect
mongoose.connect(Uri, { useNewUrlParser: true, useUnifiedTopology: true,
useCreateIndex: true });
Run Code Online (Sandbox Code Playgroud)
createIndex 是 Mongodb 的函数。
在猫鼬中,它被重命名为 index
Item.index({ "createdAt": 1 }, { expireAfterSeconds: 3600 })
Run Code Online (Sandbox Code Playgroud)
以防万一有人遇到这个问题,我正在使用 mlab 并在数据库中有和索引选项卡。我刚刚添加了
{ "createdAt": 1 }
Run Code Online (Sandbox Code Playgroud)
并从复选框中选择 TTL 并添加我的时间(以秒为单位)。
| 归档时间: |
|
| 查看次数: |
19016 次 |
| 最近记录: |