var Schema = mongoose.Schema;
var PeopleSchema = new Schema({
peopleType:{
type: Schema.Types.ObjectId,
ref: ['A', 'B'] /*or 'A, B'*/
}
})
6
A
cevap
0
ben hala görmüyorum Gelincik mevcut sürümünde İstediğiniz gibi sözdizimi ile çoklu ref mümkün. Ancak, here numaralı belgede açıklanan "Veritabanlarında Doldurma" yönteminin bir bölümünü kullanabilirsiniz. Mongoose Dynamic References
var Schema = mongoose.Schema;
var PeopleSchema = new Schema({
externalModelType:{
type: String
},
peopleType:{
type: Schema.Types.ObjectId,
refPath: 'externalModelType'
}
})
Şimdi - İçinde harici model adını modelinize dize alan eklemek ve saklamak gerekir
var PeopleSchema = new Schema({
peopleType:{
//Just ObjectId here, without ref
type: mongoose.Schema.Types.ObjectId, required: true,
},
modelNameOfThePeopleType:{
type: mongoose.Schema.Types.String, required: true
}
})
//And after that
var People = mongoose.model('People', PeopleSchema);
People.findById(_id)
.then(function(person) {
return person.populate({ path: 'peopleType',
model: person.modelNameOfThePeopleType });
})
.then(populatedPerson) {
//Here peopleType populated
}
...
4
ve refPath özelliği: Biz sadece açıkça nüfus yönteminin varyant nüfus mantığı taşımak gerekir Mongoose, ilgili modelden nesne ile peopleType'ı dolduracaktır.
İlgili konular
- 1. Nasıl bu firavunfaresi şema var bir koşulu
- 2. Referans dokümanlar firavunfaresi
- 3. Yabancı anahtar firavunfaresi
- 4. firavunfaresi: belirli alanlar
- 5. firavunfaresi olsun db değeri
- 6. std :: ref bu işlev için yararlı nedir?
- 7. firavunfaresi basıp kısmi /, node.js ise
- 8. Derleme zamanında 'ref' nasıl kullanılır?
- 9. I bileşimleri, bir kullanıcı bir modele sahip bir ilişkisi olan bir firavunfaresi modeli var
- 10. Sınıf VS ref Yapı
- 11. Ref geçiyor mu?
- 12. clojure - bir ref vektöründen bir elementi sil
- 13. Ref Parametreler ve yansıma
- 14. akış-ref ve işlem stratejisi
- 15. Perl Sıkı ref
- 16. NSubstitute ref parametrelerini destekliyor mu?
- 17. Clojure'da bir ref haritadaki kayıtları nasıl güncellerim?
- 18. rhino mocks ref param kısıtlaması
- 19. mongodb'de ref sayımını artırma/azaltma
- 20. C# neden "base" arayüzünü ref?
- 21. En önemli const & rvalue ref
- 22. Birden çok JSON şema dosyası nasıl yönetilir?
- 23. dönüş hash ref işlevindeki bir işlevden döndürme
- 24. Koşul gerçekten doğruysa ref ayarlayın
- 25. Okunan alanlar neden ref parametresiyle değiştirilebilir?
- 26. 'ref' özniteliğinin gerçek amacı nedir?
- 27. Git uzaktan komut verir: Geçersiz refspec + ref/kafaları/*: ref/uzaktan kumanda /: köken/*
- 28. Google Spreadsheet İthalat Aralığı #REF! Hata (Rastgele)
- 29. Facebook analizleri/analitik feed feed ref parametresi
- 30. Ref parametresine sahip bir yöntemi Shim olarak Microsoft Fakes kullanarak
Bu, Mongoose'un belirli bir dokümana hangi modeli referans göstereceğini nasıl bildiğinden anlam ifade etmiyor mu? Ne yapmaya çalıştığın hakkında biraz daha bilgi verebilir misin? – JohnnyHK
Teşekkürler.OK, örneğin, iki çeşit mal var, AGoods modeli ve BGoods modeli.Ve ben de onları kurtarmak için bir Mal modeli var (sadece ref kaydedin) .Bir iyi bulduğumda, ben arayacağım Mal modeli ve daha sonra bulursanız, gerçek iyi bilgileri AGoods veya BGoods'dan alacaktır. –
Bunu yapmanın bir yolunu buldunuz mu? – timhc22