我正在尝试将 expressjs 中的一个日期值插入到 mongodb。我正在使用 mongodb native 驱动程序。
问题是当我使用创建一个对象并使用该变量插入它时,日期作为字符串插入。这是示例-
var expenseTest = {date: new Date()};
database.collection('expensemaster').insert(expenseTest, function(err, r){
console.log("query executed");
});
这里是DB中的值-
{
"_id" : ObjectId("584f9b6e8c06a5717d10ee59"),
"date" : "2016-12-13T06:55:24.698Z",
}
但是当我直接在插入查询中插入对象时,它的日期返回为 ISODate(date)。
这是示例-
database.collection('expensemaster').insert({date: new Date()}, function(err, r) {
console.log("query executed");
});
db中的值-
{
"_id" : ObjectId("584fba82566fc8787e75a7ed"),
"date" : ISODate("2016-12-13T09:08:18.441Z")
}
我的问题是 - 如果我必须使用 insertMany 插入将日期作为字段之一的对象数组,该怎么办。
如何在数据库中获取日期为 ISODate(date)。
最佳答案
当你插入而不是调用时
database.collection('expensemaster').insert({date: new Date()}, function(err, r) {
console.log("query executed");
});
使用这个:
database.collection('expensemaster').insert({date: new Date(Date.now()).toISOString()}, function(err, r) {
console.log("query executed");
});
这将创建一个 iso 日期供您插入。我使用 Date.now()
但你可以在那里插入你想要的任何日期。以下是 .toISOString
的控制台日志
console.log(new Date(Date.now()).toISOString());
https://stackoverflow.com/questions/41117820/
相关文章:
node.js - NodeJS 崩溃 : Mongoose findById() does NOT
php - 在 Ubuntu 14 上将 PHP Mongo 扩展更新到 1.5
node.js - 防止 Mongoose 模式中数组中的重复条目
mongodb - Docker-MongoDB 中的身份验证问题
mongodb - 选择 2 个字段并返回具有不同值的排序数组
mongodb - 使用更新查询将文档值从字符串更改为 ObjectId
python - 具有完整行对象的 Mongo Distinct Query
mongodb - 按 id 对 Mongo 文档进行分组,并按时间戳获取最新文档