Jak mogę zaimplementować klucz obcy podobny do relacji w Mongo DB?Klucz obcy podobny do relacji w Mongo DB
Odpowiedz
hiya zobaczyć: MongoDB normalization, foreign key and joining & & dalej http://shop.oreilly.com/product/0636920018391.do ===>http://books.google.com/books/about/Document_Design_for_MongoDB.html?id=TbIHkgEACAAJ&redir_esc=y
MongoDB nie obsługuje po stronie serwera klucz obcy relacji, normalizacja jest również zniechęcać. Powinieneś osadzić obiekt podrzędny w obiektach nadrzędnych, jeśli to możliwe, zwiększy to wydajność i sprawić, że klucze obce będą zupełnie niepotrzebne. Powiedział, że nie zawsze jest to możliwe, więc istnieje specjalna konstrukcja o nazwie DBRef, która pozwala obiektom referencyjnym w innej kolekcji. To może nie być tak szybkie, ponieważ DB musi wykonać dodatkowe zapytania do odczytu obiektów, ale zezwala na rodzaj odwołania do klucza obcego.
Nadal będziesz musiał obsługiwać swoje referencje ręcznie. Tylko podczas gdy szukając DBRef, zobaczysz, czy istnieje, DB nie przejdzie przez wszystkie dokumenty, aby wyszukać referencje i je usunąć , jeśli cel odniesienia już nie istnieje. Ale myślę, że usunięcie wszystkich odnośników po usunięciu książki wymagałoby pojedynczego zapytania na kolekcję, nie więcej, więc nie jest to takie trudne.
Edycja aktualizacja
http://levycarneiro.com/tag/mongodb/
levycarneiro.com/tag/mongodb [quote] Więc utworzyć 4 kolekcje: klientów, dostawców, pracowników i kontaktów. Łączymy je wszystkie za pomocą referencji db. Działa to jak klucz obcy. Ale nie jest to metoda mongoDB do robienia rzeczy. Wydajność zostanie ukarana. [brak zainteresowania]
- 1. Entity Framework - Aktualizacja relacji zmieniając klucz obcy
- 2. Admin Django queryset filtrowania przez klucz obcy wstecznej relacji
- 3. Klucz obcy do klucza złożonego
- 4. Gdzie powinienem przechowywać klucz obcy?
- 5. Modyfikuj klucz obcy w Ecto
- 6. Jak zmienić klucz obcy?
- 7. Łączenie tabel, klucz obcy
- 8. Klucz obcy w szynach 4
- 9. Wielokolumnowy klucz obcy w MySQL?
- 10. Klucz obcy Sequelize.js
- 11. Klucz obcy Django Model
- 12. MONGO DB Like Operator
- 13. Klucz obcy SQLite
- 14. Rails 4.2 klucz obcy
- 15. Klucz obcy SQLite?
- 16. Zrozumienie Mongo db wyjaśnić
- 17. Mongo DB Invariant failure
- 18. Zapytanie Mongo DB w java
- 19. ScalaQuery wielokrotny klucz podstawowy i klucz obcy
- 20. klucz Composite jako klucz obcy (SQL)
- 21. Dodaj klucz obcy do istniejącej tabeli
- 22. Utwórz klucz obcy do tabel systemowych
- 23. Złożony klucz podstawowy, klucz obcy. Odniesienie do obiektu lub klucza?
- 24. knex migracja tworząc klucz obcy
- 25. szyn: niezgodny klucz obcy constraintRails
- 26. klucz obcy referencje Nieprawidłowa tabela
- 27. Model Django - wybory kontra klucz obcy?
- 28. Jak dodać klucz obcy w SequelPro?
- 29. SQL Server 2005: zerowalny klucz obcy
- 30. Jak obsłużyć klucz obcy w FactoryGirl
Interesujące. Co to znaczy "osadzić obiekty podrzędne w obiekcie nadrzędnym"? Czy to oznacza, że jeśli masz relację zamówienie/element zamówienia, to czy obiekty pozycji wiersza będą miały właściwości w dokumencie zamówienia? – McGarnagle
Hiya, Rzeczywiście, myślę; ciekawy artykuł tutaj - http://levycarneiro.com/tag/mongodb/ [quote] Tworzysz 4 kolekcje: klienci, dostawcy, pracownicy i kontakty. Łączymy je wszystkie za pomocą referencji db. Działa to jak klucz obcy. Ale nie jest to metoda mongoDB do robienia rzeczy. Wydajność zostanie ukarana. [brak tytułu] - :) okrzyki –
Świetnie, to naprawdę pomocne Tats. W rzeczywistości Mongo DB nie jest zbyt efektywne w implementowaniu odniesień między obiektami, co zrozumiałem. –