私信  •  关注

Vladyslav Usenko

Vladyslav Usenko 最近创建的主题
Vladyslav Usenko 最近回复了
6 年前
回复了 Vladyslav Usenko 创建的主题 » Express/MongoDB中的HTTP请求返回散列id和值0,而不是JSON对象

这个散列id是ObjectID,\uu v是文档的版本标志,由mongoose框架填充。

不管怎样,看起来你的代码应该可以工作。我看到模式中的plan_name和access字段不是必需的,所以可能mongoose在req.body对象中找不到它们,并且会悄悄地将其吞入。

请确保正确设置了express的请求正文和内容类型解析中间件。

6 年前
回复了 Vladyslav Usenko 创建的主题 » 更新用户配置文件时,某些信息会从db、mongodb中删除。

你这样做的原因是你实际上在更新 location 带有新对象的字段。每把钥匙在下面 位置 对象被擦除然后重写-这就是为什么 vicinity 丢失了。

要实现您的目标,可以使用嵌套键语法:

const updates = {
  $set: {
    email: req.body.email,
    name: req.body.name,
    photo: req.body.photo,
    genres: req.body.genres,
    musicLinks: req.body.musicLinks,
    'location.type': req.body.location.type,
    'location.coordinates': [req.body.location.coordinates[0], req.body.location.coordinates[1]],
    'location.address': req.body.location.address,
  }
};

之后:

const user = await User.findOneAndUpdate(
  { _id: req.user._id },
  updates,
  { new: true, runValidators: true, context: 'query' }
);