我试图删除收藏夹中存在的旧记录。
我有一个名为“ user_track”的集合,其中包含以下所示格式的数据
db.user_track.find().pretty()
{
"_id" : ObjectId("50c9afe5765fb0e4fea076ce"),
"cust_id" : "ddddd",
"symbol" : "WWWW",
"access_time" : "Thu Dec 13 2012 05:37:25 GMT-0500 (EST)"
}
{
"_id" : ObjectId("50c9afe7765fb0e4ffa076ce"),
"cust_id" : "eeeeeeeeee",
"symbol" : "WFC",
"access_time" : "Thu Dec 13 2012 05:37:27 GMT-0500 (EST)"
}
{
"_id" : ObjectId("522de3ae2191b0e41a7534dd"),
"cust_id" : "dsdsds",
"symbol" : "APPLE",
"access_time" : "Mon Sep 09 2013 11:05:18 GMT-0400 (EDT)"
}
在我的收藏集user_track中,我只想保留当月的数据(即从2013年9月1日到当日),并希望删除不属于当月的其余记录。
我试图发出以下命令,但是由于日期格式不同,我不确定如何发出此命令来满足我的要求。
db.user_track.delete( { 'access_time': {$lte: XXX} })
请提出建议。
您可以使用Javascript日期指定任何日期
db.user_track.remove( { access_time : {"$lt" : new Date(year, month_0_indexed, day)} })
因此,要在2013年9月1日之前删除文档,您的命令应为
db.user_track.remove( { access_time : {"$lt" : new Date(2013, 8, 1) } })
9月是第9个月,但month字段的索引为零。因此我们将其设为8。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句