Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从当前日期查找上一年_Javascript_Node.js_Mongodb_Mongodb Query - Fatal编程技术网

Javascript 从当前日期查找上一年

Javascript 从当前日期查找上一年,javascript,node.js,mongodb,mongodb-query,Javascript,Node.js,Mongodb,Mongodb Query,我需要使用javascript在mongodb中传递查询以删除记录 我在db中的日期格式为:“2019年2月12日06:45:34 GMT”,我必须在记录删除前1年获取日期。我怎么能做到 var d=新日期(); var gmt=d.toutString(); var s=gmt.slice(5); var ne=s.setFullYear(s.getFullYear()-1); console.log(ne)您可以简单地使用新日期(“2019年2月12日06:45:34 GMT”)解析它,然

我需要使用javascript在mongodb中传递查询以删除记录

我在db中的日期格式为:“2019年2月12日06:45:34 GMT”,我必须在记录删除前1年获取日期。我怎么能做到

var d=新日期();
var gmt=d.toutString();
var s=gmt.slice(5);
var ne=s.setFullYear(s.getFullYear()-1);

console.log(ne)
您可以简单地使用
新日期(“2019年2月12日06:45:34 GMT”)
解析它,然后像以前一样使用
设置全年

var strDate=“2019年2月12日06:45:34 GMT” var d=新日期(标准日期); d、 setFullYear(d.getFullYear()-1);
console.log(d.toString())
创建一些数据集

> var dateString = "12 Feb 2019 06:45:34 GMT";
> var dateObject = new Date(dateString);

> db.datetest1.insert({createdDateTime: dateObject})
WriteResult({ "nInserted" : 1 })
// One more record
> db.datetest1.find()
{ "_id" : ObjectId("5def0a895645c25f96ce22ba"), "createdDateTime" : ISODate("2019-02-12T06:45:34Z") }
> var dateString = "12 Feb 2017 06:45:34 GMT";
> var dateObject = new Date(dateString);
> db.datetest1.insert({createdDateTime: dateObject})
WriteResult({ "nInserted" : 1 })
在MongoDB集合中查找插入的数据

> db.datetest1.find()
{ "_id" : ObjectId("5def0a895645c25f96ce22ba"), "createdDateTime" : ISODate("2019-02-12T06:45:34Z") }
{ "_id" : ObjectId("5def0abc5645c25f96ce22bb"), "createdDateTime" : ISODate("2017-02-12T06:45:34Z") }
> var currentDate = new Date() // current date
> currentDate.setFullYear(currentDate.getFullYear() -1) // subtract one year
1544410990689
> currentDate
ISODate("2018-12-10T03:03:10.689Z")
// Remove with $multi : true for more than one records
> db.datetest1.remove({createdDateTime: {$lte: currentDate}}, {$multi:true})
WriteResult({ "nRemoved" : 1 })
// Left data in the collection
> db.datetest1.find()
{ "_id" : ObjectId("5def0a895645c25f96ce22ba"), "createdDateTime" : ISODate("2019-02-12T06:45:34Z") }
> 
现在想从收集中删除一年前的数据

> db.datetest1.find()
{ "_id" : ObjectId("5def0a895645c25f96ce22ba"), "createdDateTime" : ISODate("2019-02-12T06:45:34Z") }
{ "_id" : ObjectId("5def0abc5645c25f96ce22bb"), "createdDateTime" : ISODate("2017-02-12T06:45:34Z") }
> var currentDate = new Date() // current date
> currentDate.setFullYear(currentDate.getFullYear() -1) // subtract one year
1544410990689
> currentDate
ISODate("2018-12-10T03:03:10.689Z")
// Remove with $multi : true for more than one records
> db.datetest1.remove({createdDateTime: {$lte: currentDate}}, {$multi:true})
WriteResult({ "nRemoved" : 1 })
// Left data in the collection
> db.datetest1.find()
{ "_id" : ObjectId("5def0a895645c25f96ce22ba"), "createdDateTime" : ISODate("2019-02-12T06:45:34Z") }
> 

因此,您的问题的答案是,只需创建当前日期对象并减去一年作为
currentDate.setFullYear(currentDate.getFullYear()-1)
,然后将该值传递到
MongoDB remove
查询中,如上所述。

正如您从我制作的代码片段中看到的,s不是日期