2013-04-03 17 views
6

node.js ve MongoDB için yeni. MongodDB'ye node.js. ile erişmek için Mongoose Library kullanıyorum.Gömülü dokümanı mongoose'a kaldırın

İki Şema, Kitap ve Yazar var. Yazar bir kitap ve kitap has_many Yazar aittir.

benim şemalarında bu var:

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var Book = new Schema({ 
    title : String, 
    isbn : String, 
    authorId : [{ type: Schema.Types.ObjectId, ref: 'Author' }], 
    updated_at : Date 
}); 

var Author = new Schema({ 
    name : String, 
    updated_at : Date 
}); 

mongoose.model('Book', Book); 
mongoose.model('Author', Author); 

mongoose.connect('mongodb://localhost/library'); 

sorun olduğunu ben başvuru bütünlüğü kontrol etmeden silinir Kitap ile yerleştirilmiştir Yazar bir belge sildiğinizde. Benim senaryom, Yazar belgesi Kitap ile gömülü ise silinemez. Mongoose, kitapta gömülü olan yazar belgesini otomatik olarak kontrol ediyor mu? Mümkün mü? Öyleyse nasıl?

+1

Hayır üzerindeki

Author.pre('remove', function(next) { Author.remove({name: this.name, updated_at: this.updated_at }).exec(); Book.remove({authorId : this._id}).exec(); next(); }); 

diğer bilgiler, yerleşik Kontrolden herhangi bilgi tutarlılığı yoktur Ancak, aracılığıyla [Bu cevap] (http gibi orta katman 'kaldır' olduğunu ekleyebilirsiniz:. // stackoverflow com/a/14349259/1259510). – JohnnyHK

cevap