J'ai un modèle de projet avec juste un champ de nom et dans cela aussi la relation imbriquée à line_items. projet de classe comprennent MongoId :: documents champ: nom embeds_many: line_items finsupprimer un document incorporé dans mongoid
class LineItem
include mongoid::document
field :title
embedded_in :project, :inverse_of => :line_items
end
Je suppose que cela est plus de la question du pilote mongo: si j'avais un tel document
db.project.find()[0]
{
_id : 123,
name : "housework",
line_items:[
{ title : "clean fridge", _id : 601},
{ title : "clean tub", _id : 602},
{ title : "clean oven", _id : 603}
]
}
- 1) Comment mettre à jour l'élément de campagne avec l'ID 601 dans la console mongo?
- 2) comment le supprimer?
Merci!
Merci Shingara, mais cela vient de Rails Console, pas de la console MongoDB. Savez-vous quelle est la syntaxe de mongodb? –
pour la suppression est que la troisième ligne correcte? Dans la plupart des cas, vous ne connaîtrez pas l'ID de l'élément incorporé, donc vous feriez probablement un: line_item = pro.line_items.where (: title => "xxx"). d'abord, puis un pro.line_item_ids.delete (line_item.id) – Nader