export const addToCart = asyncHandler(async (req, res) => {
const { cartItems } = req.body
if (cartItems && cartItems.length === 0) {
res.status(400)
throw new Error("No item in the cart")
} else {
const cart = await Cart.find({ user: req.user._id })
if (cart && cart.length !== 0) {
cart.cartItems = [...cartItems]
const updatedCart = await cart.save()
res.status(201)
res.json(updatedCart)
} else {
const newCart = new Cart({
user: req.user._id,
cartItems,
})
const updatedCart = await newCart.save()
res.status(201)
res.json(updatedCart)
}
}
})
当我尝试使用以下对象更新它时
{
"cartItems":[
{
"name":"Ring",
"qty":"1",
"image":"ring-image",
"price":"160",
"countInStock": 5,
"product": "60ff8222ce6dca3378449b93"
},{
"name":"Wallet",
"qty":"2",
"image":"wallet-image",
"price":"40",
"countInStock": 16,
"product": "60ff8222ce6dca3378449b93"
}
]
}
它给我的错误是cart.save()不是函数。我不知道我做错了什么,因为newcart.save()运行良好,但是,为什么cart.save()会引发错误?
错误是,当我们使用user._id在购物车中查找时,它返回一个数组,所以如果我们更改
const cart = await Cart.find({ user: req.user._id })
到
const cart = (await Cart.find({ user: req.user._id }))[0]
那么它很好用
但是,我还没有想好如何使用solrj API来实现这一点。 有没有人知道用Solrj是否可能?还是solrj没有跟上这个功能的速度? 更新:正如我在邮件列表中所描述的(参见这里的回复),我发现在solrj api中,SolrInputField的值可以是一个映射--它不一定必须是一个简单的标量值。如果它是一个映射,solrj会向字段的xml元素添加一个额外的属性。例如,以下代码: 在这个例子中,我
更新文档操作既可以完全覆盖现存文档全部字段,又可以部分更新字段(更改现存字段,或添加新字段)。 部分更新 如果你要部分更新文档(如更改现存字段,或添加新字段),你可以在 body 参数中指定一个 doc 参数。这样 doc 参数内的字段会与现存字段进行合并。 $params = [ 'index' => 'my_index', 'type' => 'my_type', 'i
问题内容: 下面是我的代码 我的mongo数据库中已经有一些记录,我想运行此代码来更新年龄为17岁的姓名,然后在代码末尾打印结果。 但是,为什么我仍然从控制台获得相同的结果(而不是修改后的名称),但是当我转到mongo db命令行并键入“ ”时。结果带有修改后的名称。 然后,我再次运行该代码,并修改了结果。 我的问题是:如果修改了数据,那么为什么在console.log时还是第一次获得原始数据。
对于一个Box2D组合,我需要这段代码来避免无意中的点击: null null 目前,它适用于整个文档。但我希望它仅适用于 。 怎么可能编码呢? 会非常感谢你的帮助!
主要内容:update() 方法,save() 方法在 MongoDB 中,可以使用 update() 和 save() 方法来更新集合中的文档。其中 update() 方法可以更新现有文档中的值,而 save() 方法则可以使用传入文档来替换已有文档。 update() 方法 update() 方法用于更新现有文档中的值,其语法格式如下: db.collection_name.update( <query>, <update>,
问题内容: 该代码按预期工作。但是,我不想更新第三个国家作为另一个文档,而是要更新第一个文档。 这样,文档ID 1将有3个国家:印度,中国和巴基斯坦。我想我需要使用doc_as_upsert参数更新API。但是我不确定如何编写JSON。 问题答案: 您可以使用update API 进行脚本更新: 更新 如果要在批量查询中使用它,也可以