mongodb 追加新字段,无效
现有一张表,我想给这张表追加一个新字段,但是更新失败
以下是代码
const data = {
token: token, // 这个字段表中没有
update_time: new Date().getTime() // 这个字段表中有
}
const res = await User.update({ username: params.username }, { $set: data })
从输出的日志可以看出我更新的条件没有token字段
这是为什么呀!是我的语法不对吗?请各位大神赐教!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是可以追加新字段的。
但是在mongoose里面,$set 只针对定义过的字段,即:
User
的model里面必须有个token
字段,否则不会给文档添加新字段。更新下model,此时
$set
就生效了,会给文档添加 token字段,也不会对原有文档造成影响。如果用命令行执行更新语句是肯定生效的,只是mognoose对update封装处理过。
各位大神,我想知道js的MongoDB是不是不可以在现有的文档中追加新字段呀,还是我的写法不对,请赐教!