13
在我的圖像共享應用程序中,您可以創建相冊並向其添加圖像。當圖像從網站中刪除時,也應該從存儲圖像引用的專輯(名稱,ID)中刪除。在數組字段中查找匹配
我需要幫助的是查找哪些相冊存儲了即將被刪除的圖像(引用)。
在下面的路線是我到目前爲止嘗試過的,但我得到一個錯誤的查詢。我檢查了MongoDB的文檔和語法如下:
db.collection.find({ field : { $in : array } });
在我的路線現場和陣列已切換的地方,這似乎並沒有工作。
我真的很感謝一些幫助。提前致謝!
我的模型如下所示:
var AlbumSchema = new Schema({
title : String,
imageName : [String], <-- array the contains of images names
imageId : [String] <-- array the contains of images id's
});
modelObject.AlbumSchema = AlbumSchema;
modelObject.Album = mongoose.model('Album', AlbumSchema);
var ImageSchema = new Schema({
name : String,
size : Number,
type : String
});
modelObject.ImgSchema = ImgSchema;
modelObject.Image = mongoose.model('Image', ImgSchema);
的路線刪除圖像:
app.get('/blog/delete/:id', function(req, res){
model.ImagePost.findById(req.params.id, function (err, blog){
var theImage = blog.name;
if (err) {
console.log(err);
// do something
}
var query = albumModel.Album.find({ imageName: { $in : theImage } });
query.exec(function (err, albums) {
if (!albums) {
console.log(err);
// do something
blog.remove(function(err) {
console.log(err);
// do something
});
res.redirect('/blogs');
}
else {
// code for removing the image(s) in the albums
res.redirect('/blogs');
}
});
});
});
非常好的答案(+1)。這是另一個鏈接,我發現http://docs.mongodb.org/manual/tutorial/query-documents/#match-an-array-element – Tom
謝謝湯姆___;) – coiso
鏈接現已死亡。 – Neta