我有以下strucure:添加幾個子文件MongoDB中
{
'name':'something',
'commens':{
'value':'something'
}, {
'value':'something else'
}
}
我的問題是,我怎麼可以插入/更新這些子文檔?
我有以下strucure:添加幾個子文件MongoDB中
{
'name':'something',
'commens':{
'value':'something'
}, {
'value':'something else'
}
}
我的問題是,我怎麼可以插入/更新這些子文檔?
如果您使用的是MongoDB控制檯,則必須使用$ positional operator更新嵌入式文檔。
db.yourCollection.update({ "_id" : ObjectId("4a33289ae89489"), "commens._id" : ObjectId("32321eae20fc603aee49124") }, { "$set" : { "commens.$.value" : "something else" } })
我假設'comments'是一個數組,否則您發佈的示例不是有效的JSON/BSON。 對於陣列操作,您可以看看:http://docs.mongodb.org/manual/reference/operator/update-array/
僅在更新查詢中,您可以執行upsert操作,如果它不存在,將插入文檔。
你能更具體一點嗎?你使用的是編程語言,還是你指的是MongoDB shell? – 2013-05-09 15:26:01