【发布时间】:2021-04-05 00:10:30
【问题描述】:
我有一个存储项目列表的 mongoDB 数据库:
[{"_id":"0", "a": "b"}, {"_id":"1", "a": "c"}]
要通过 POST 请求向数据库添加新项目,我使用的是 Express 路由器和 Mongoose:
router.post('/', (req, res) => {
const newItem = new Item({a: req.body.a})
newItem.save()
.then(item => res.json(item))
})
在此之后,数据库如下所示:
[{"_id":"0", a: "b"}, {"_id":"1", a: "c"}, {new item}]
有什么办法可以代替将新项目添加到前面,像这样?
[{new item}, {"_id":"0", "a": "b"}, {"_id":"1", "a": "c"}]
感谢任何想法。
【问题讨论】:
-
newItem.save().then(items => res.json(items))这不是返回的项目列表,你能分享查找项目的代码。 -
@RahulSharma 正确,该行实际上应该是
.then(item => res.json(item))(添加项目后,我返回响应中添加的项目)。无论哪种方式,尽管默认情况下该项目仍然总是被添加到列表的末尾。有没有办法将它添加到开头?
标签: database mongodb api express mongoose