【发布时间】:2018-05-27 17:08:50
【问题描述】:
我正在开发一个使用 MongoDB 和 Express.js 的应用程序。
我正在创建一个 post 处理程序,它使用玩具的新建议名称(被推送到包含其他建议名称的 id 的 nameIds 数组)更新玩具(通过其 id 找到):
router.post('/names', (req, res) => {
const toyId = req.body.toyId;
const name = req.body.newName;
mdb.collection('names').insertOne({ name }).then(result =>
mdb.collection('toys').findAndModify({
query: { id: toyId },
update: { $push: { nameIds: result.insertedId } },
new: true
}).then(doc =>
res.send({
updatedToy: doc.value,
newName: { id: result.insertedId, name }
})
)
)
});
但是,当我测试这个时,我收到了这个错误:
name: 'MongoError',
message: 'Either an update or remove=true must be specified',
ok: 0,
errmsg: 'Either an update or remove=true must be specified',
code: 9,
codeName: 'FailedToParse'
我对 MongoDB 并不陌生,但这个简单的调用让我感到困惑。
感谢您提供的任何帮助!
【问题讨论】:
-
这是 nodejs mongodb 不是 mongo shell。所以使用 node mongo 命令并在你的帖子中添加 nodejs 标签
-
啊,明白了。非常感谢您的帮助!
标签: mongodb