【发布时间】:2018-05-14 04:39:19
【问题描述】:
我正在尝试将blockDate 添加到用户数据库中,但下面的代码没有进行任何更改。我检查了 data.username 和 blockDate 是有效值。我从res 变量中得到{ ok: 0, n: 0, nModified: 0 }。我怎样才能弄清楚这个请求有什么问题?
router.post('/account/block', async (ctx, next) => {
let data = ctx.request.body
let fixedDate = parseInt(data.days)
let blockDate = DateTime.local().plus({days: fixedDate}).toISO()
let param = {
search: { username: data.username},
update: { $set: {blockDate: blockDate}}
}
try {
console.log(param)
let res = await User.update(param.search, param.update, {multi: true})
console.log("res", res)
} catch (e) {
console.log("err", e)
}
})
【问题讨论】:
-
您是否检查过更新的查询是否与任何文档匹配?如果没有,它将不会更新任何内容。
-
@Florian 是的,它确实匹配了一个文档
-
let test = await User.find(param.search)是否为您退回文件?还有什么类型是blockDate?对于日期的 Afaik,您必须提供 Date 对象。 -
@kentor 是的。 blockDate 的类型是日期。并且查询的 blockDate 是
'2017-12-01T19:51:10.059+09:00'我怎样才能使它成为日期类型?
标签: javascript node.js mongodb mongoose koa-router