我想对数组中嵌套对象中存在的字段执行更新。
考虑一下:
var PlatformPhotoAlbumSchema = new Schema({
platformAlbumId: String,
platformPhotoIds: [String]
}, { _id : false });
var SocialProfileSchema = new Schema({
platformPhotoAlbums: [PlatformPhotoAlbumSchema]
});
示例:
{
platformPhotoAlbums: [
{
platformAlbumId: "a",
platformPhotoIds: ["1","2"]
},
{
platformAlbumId: "b",
platformPhotoIds: ["3","4"]
},
{
platformAlbumId: "c",
platformPhotoIds: ["5","6"]
}
]
}
我想在一个mongodb查询中执行此操作。知道如何做到这一点?
答案 0 :(得分:1)
从你想要完成的事情来看,我认为有一个更简单的概念可以考虑你的查询实际需要做什么
您希望将新对象推送到看起来像
的对象数组中platformAlbumId: "c"
和(在此之前)删除数组中与findAndModify
实际上要好于此,您应该能够使用platformAlbumId
命令查询platformPhotoIds
值,使用新的upsert
值更新集,以及+ scale_x_date()
bool设置为true http://docs.mongodb.org/manual/reference/command/findAndModify/