草庐IT

node.js - Mongoose 过期数据但保留在数据库中

我目前通过mongoose模式将数据保存到数据库或从数据库中过期:varUserSchema=newSchema({createdAt:{type:Date,expires:'1m'},name:String,email:String});唯一的问题是保存到数据库中的文档已从数据库中完全删除。我将如何重构上面的内容,以便名称/电子邮件地址保留在数据库中,但是如果用户在他们的到期日期之后尝试登录,那么他们会收到一条消息,说“session已过期,更新session”。(或类似的东西)我想这样做是因为如果用户使用过期的电子邮件地址登录,服务器仍然能够查找电子邮件地址并吐出“session过

node.js - 根据条件从 Mongo 中过期/删除文档

我知道可以创建一个TTL索引,它将在例如之后删除所有数据索引。60分钟:https://docs.mongodb.com/manual/tutorial/expire-data/我想实现一项功能,该功能将根据通过或未通过条件来删除数据。例如:user=newmongoose.Schema({isAuthenticated:Boolean})如果用户未在24小时内进行身份验证,让我们将他从数据库中删除-我来自SQLServer背景并且没有太多使用Mongo的经验。我该怎么做?有任何想法吗?存储过程? 最佳答案 mongoDB中没有作业

mongodb - 在 MongoDB 中获取今天之前过期的文档

我正在使用MongoDB2.6并且我正在查询按过期日期过滤文档。我想知道哪些文件在今天之前过期了。我的持久数据代表出版物。我已经进行了一些查询,但没有返回文档。我知道有很多文件满足这个条件。我尝试了两个查询,但没有一个有效:1.{"domain.ApplicationCase.fields.ExpireDate":{$gte:{$currentDate:{lastModified:true,"cancellation.date":{$type:"timestamp"}}}}}2.{"domain.ApplicationCase.fields.ExpireDate":{$gte:newD

解决K8S证书过期步骤(续一年)

K8S各个组件需要与api-server进行通信,通信使用的证书都存放在/etc/kubernetes/pki路径下,kubeadm生成的证书默认有效为1年,因此需要定时更新证书,否则证书到期会导致整个集群不可用。有其他的办法可以更长时间的延长证书。后续有空再写方法本篇文章主要介绍如何通过kubeadm重新生成证书。 1、查看证书到期时间:kubeadmalphacertscheck-expiration2、备份k8s配置 cp-rp/etc/kubernetes/etc/kubernetes.bak3、删除旧的证书rm-rf/etc/kubernetes/pki/apiserver.key4

php - 在 MongoDB 上过期时自动删除文档

我正在开发一个将历史日志存储在MongoDB集合中的PHP应用程序。1小时后,这些数据不再重要,并被每小时运行一次的CRON进程删除。问题来了,有没有其他办法可以让这些文件插入一段时间后自动删除呢?非常感谢! 最佳答案 要在一定秒数后使文档过期,您可以创建一个TTL索引,它是一个特殊的索引属性,它依赖于mongod中的后台线程,该线程读取目标索引日期值并对那些已过期的索引执行删除操作。为此,您需要一个createdAt字段来存储日志集合中的插入日期,例如,您可以使用“newDate()”要为集合启用TTL,请使用ensureInde

javascript - 无法使 mongoose 过期/ttl 工作

varmongoose=require('mongoose'),Cache,cache;mongoose.connect('mongodb://localhost:27017/test');Cache=mongoose.model('Cache',mongoose.Schema({value:{},createdAt:{type:Date,expires:3600}}));cache=newCache({createdAt:newDate(),value:{foo:'bar'}});cache.save(function(err,obj){console.log(err,obj);pr

spring boot 缓存redis设置定时过期时间

前言本篇文章分享的就是springboot中的一个轮子,springcache注解的方式实现接口数据缓存。默认的配置想非常简单,但是有一个弊端是缓存数据为永久缓存,本次将介绍如何设置接口缓存数据的过期时间使用redis进行缓存数据,是目前比较常用的缓存解决方案。常用的缓存形式有一下几种:1.纯原生代码进行redis的增删改查,手工编写缓存工具类,由开发者在代码中进行调用。    优势:代码由实际使用的开发者进行维护,便于定制化的改造。2.使用市场上已有的缓存工具,也就是大家常说的大佬的轮子    优势:方便快捷,提升开发效率目录添加依赖添加配置常规缓存增加设置缓存时间添加依赖 修改pom文件引

mongodb - 是否可以根据多个属性使 MongoDB 中的数据过期?

我正在尝试清理我的MongoDB,我想到了addingaTTLindextoexpiredocuments.但基于第二个属性,我的文档需要不同的TTL。这是一个例子:{"_id":ObjectId("525bd2aee4b05e96f1ec7362"),"payload":"525bd2aee4b05e96f1ec7361","serviceId":"525bd2ade4b05e96f1ec735f","status":"STARTED","timestamp":ISODate("2013-10-14T11:17:01.651Z"),"transaction":"525bd2aee4b

k8s证书更新,kubeadm安装的K8S证书过期后无法使用后证书更新方法

k8s证书更新1.查看证书过期时间#通过文件查看证书过期时间foritemin`find/etc/kubernetes/pki-maxdepth2-name"*.crt"`;doopensslx509-in$item-text-noout|grepNot;echo======================$item===============;done#通过命令查看证书过期时间kubeadmcertscheck-expirationk8s安装一年后证书显示过期。证书未自动续期。以下操作需到所有master节点操作一般情况下,k8s创建的集群节点上的/usr/bin/文件夹下会存在kubea

node.js - 搜索创建日期大于 14 天前的用户,然后更新过期字段

这是我使用mongoose/node的要求-只有在过去14年内创建的用户才能登录系统。如果用户尝试登录并且他们在14天,他们不再有效并且需要向管理员申请延期。我想做的(无论这是否正确)是在获取所有用户时,搜索14天或更早前创建的用户,并将过期字段设置为true(我可以在验证时检查这个。我还希望它在UI中显示一个单独的表,该表仅显示过期用户)。我最初认为在createdDate字段中设置“expires”会起作用,但这会删除我不想要的记录。这是我的UserSchema和我当前的getAllUsers函数。我还没有任何东西可以尝试解决这个问题。varUserSchema=newSchema