私はExpressJS + MongoDB + TypeScriptを使用しています。以下は、私がMongoDB参照値が更新されていません
export class Author {
name: string;
dob: Date;
}
export class Publisher {
name: string;
address: string;
}
import {Author} from './Author';
import {Publisher} from './Publisher';
export class Book {
name: string;
price: number;
author: Author;
publisher: Publisher;
}
は、私は以下のようにデータを挿入した持っているモデルです
let publisher1: Publisher = new Publisher();
publisher1.name = "Publisher 1";
publisher1.address = "Amritsar";
let publisher2: Publisher = new Publisher();
publisher2.name = "Publisher 2";
publisher2.address = "Bangalore";
let author1: Author = new Author();
author1.name = "Author 1";
author1.dob = new Date();
let author2: Author = new Author();
author2.name = "Author 2";
author2.dob = new Date();
let book1: Book = new Book();
book1.name = "Book 1";
book1.price = 50;
book1.author = author1;
book1.publisher = publisher1;
let book2: Book = new Book();
book2.name = "Book 2";
book2.price = 100;
book2.author = author2;
book2.publisher = publisher2;
let book3: Book = new Book();
book3.name = "Book 3";
book3.price = 150;
book3.author = author1;
book3.publisher = publisher2;
パブリッシャー(2つのドキュメント)、作成者(2つのドキュメント)、書籍(3つのドキュメント)の3つのコレクションが作成されています。
今、私は以下のコードを使用して者1に著者5の名前を更新するとき、それは作者のコレクションに変更されます。
this.db.collection('Author').findOneAndUpdate({
name: "Author 1"
}, {
$set: {
name: "Author 5"
}
})
しかし、私はブック3またはブック1名でブックを照会するとき、それはまだ名前著者1の代わりに、著者5
を指し参照しながら、何か問題はありますブックコレクションのドキュメントに
私はこの問題について詳しく読んで、これを処理する別のアプローチがあることを発見しました。私が試みているのは間違っている。助けてくれてありがとう。 – Sahil