I имеет следующую структуру для документаMongoDb тянуть с позиционным оператором
{
_id: 12342342
items: [
{
ownerId: 123,
dates: ['2014-10-01', '2014-10-02']
},
{
ownerId: 234,
dates: ['2014-10-01', '2014-10-02']
},
]
}
Я хочу, чтобы вытащить конкретное значение из фиников, где OwnerId родительского объекта является конкретным значением.
У меня есть
var myDate = '2014-10-01'
db.collection('things').update({'items.dates': {$in: [myDate]}},
{$pull: { 'items.$.dates': myDate } }, {multi: true});
Но это будет тянуть за любой OwnerId, который не то, что я хочу. Может ли кто-нибудь помочь мне получить правильный синтаксис запроса?
спасибо.
как $ не нужно? date - это массив – Jeff
@Jeff, выражение равенства '{date: myDate}' означает, что даты сами по себе равны myDate, или любой элемент дат (если даты - тип массива) равен myDate. Тип массива относительно немного «сложный» в MongoDB. :) – Wizard