私はこのような文書を持っています:
db.planet.insert({
name: 'Earth',
stuff: {
'grass': 'green',
'sky': 'blue',
'sea': 'blue'
}
})
db.planet.insert({
name: 'Mars',
stuff: {
'dust': 'red',
'sky': 'yellow'
}
})
少なくともいくつかのblue
もの(この場合は地球のみ)を持っているすべての惑星を見つけたいです。どうやってやるの?
キャッチ:もの( )に(オブジェクトの代わりに)配列を使用してこれを解決しようとしましたが、いくつかのものの値を更新(正確にはアップサートstuff: [ { k: 'grass', v: 'green'},... ]
)できる必要もあります。たとえば、私はこれを行うことができなければなりません:
db.planet.update({ name: 'Mars' }, {
'$set': {
'stuff.canals': 'brown',
'stuff.dust': 'reddish'
}
})
では、どうすれば何かが付いている惑星を見つけることができblue
ますか?:)