【发布时间】:2016-10-27 15:28:19
【问题描述】:
我尝试在 MongoDB 中更新我的收藏。
[ { _id: 5811cc62a50998a59193d4c0,
film:
{ id: '2',
title: 'Pirates of the Caribbean: Dead Men Tell No Tales ',
year: '2017',
quality: 'HDrip',
stars: 'John Depp, Orlando Bloom, Javier Bardem, Kaya Scodelario, Brenton Thwaites',
Show: true },
Show: false },
{ _id: 5811d693e4d24a0a69e8c12f,
film:
{ id: 5,
title: 'Doctor Strange',
year: '2016',
quality: 'Blu-ray',
stars: 'Benedict Cumberbatch, Chiwetel Ejiofor, Rachel McAdams, Benedict Wong, Mads Mikkelsen',
Show: true } },
{ _id: 5811d9e884efe15a708a8f1d,
film:
{ id: 6,
title: 'Hacksaw Ridge',
year: '2016',
quality: 'DVDrip',
stars: 'Teresa Palmer, Andrew Garfield, Vince Vaughn, Hugo Weaving, Sam Worthington',
Show: true } } ]
在这里,我想在数组的任何对象中访问“电影”中的“显示”项。
我写过:
db.wl.update({query: {_id: mongojs.ObjectId(req.body._id)},
update: {$set: {film.$.Show: req.body.newShow}}
})
我尝试使用“.0”。而不是 '.$.'只是用点。 它仍然不起作用。
【问题讨论】:
-
它是
{$set: {"film.$.Show": req.body.newShow},在引号之间 -
它仍然没有改变任何东西
-
什么意思?错误至少应该不同
-
哦,原来如此。在服务器上一切正常。但是当我检查在浏览器控制台中返回的对象时,这个值没有改变,但应该改变。