【发布时间】:2020-06-29 08:18:12
【问题描述】:
我有一个与 MongoDB 安装通信的 Node API。 MongoDB 节点 api ("mongodb": "^3.5.9") 坚持在更新到数据库之前将日期对象转换为字符串。有人可以帮忙吗?
app.post("/api/updateDocument",auth,(req,res) => {
const collection = req.body.Collection;
incomingmap = req.body.inComingMap
const searchval = req.body.searchVal;
const searchvar = req.body.searchVar;
let findargs = {}
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://...";
MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true },function(err,db) {
if (err) throw err;
var dbo = db.db();
var coll = dbo.collection(collection);
coll.find({}).toArray(function(err,data) {
data.forEach((item) => {
if (item[searchvar] == searchval) {
for (let key in incomingmap) {
value=incomingmap[key]
console.log(key + " : " + value);
try {
da=Date.parse(value);
//incomingmap[key]=da.toIs;
coll.updateOne({_id:item._id},{$set: {key:da}},function() {})
} catch{
//coll.updateOne({_id:item._id},{$set: {key: value}},function() {})
}
}
return res.json({message:searchval+' updated.'})
} else {
setTimeout(() => {
res.end(`${searchval} could not be found.`)
}, 1000)
}
})
})
})
})
预期结果
“校准”:ISODate("2021-11-07T11:23:01.306Z"),
实际结果
“校准”:“2021-11-07T01:00:00.000Z”,
【问题讨论】:
-
da=new Date(value);**