Как установить внешний ключ в мангусте? - PullRequest
0 голосов
/ 01 октября 2019

Мне нужно установить поле из другой коллекции в качестве внешнего ключа для моей схемы mongoose.

У меня есть счетчик pid до productSchema. Мне нужно установить pid в качестве иностранного ключа на orderSchema

    const orderSchema = mongoose.Schema({
    id: mongoose.Schema.Types.ObjectId,
    product: { type: mongoose.Schema.Types.ObjectId, ref: 'Product', 
    required: 
    true },
    quantity: { type: Number, default: 1 }
    });

    const productSchema = mongoose.Schema({
    _id: mongoose.Schema.Types.ObjectId,
    name: { type: String, required: true },
    price: { type: Number, required: true },
    productImage: { type: String }
    });

1 Ответ

0 голосов
/ 01 октября 2019

Ну, MongoDB - это не реляционная БД, поэтому она не поддерживает такие понятия, как внешний ключ. В mongoDB вы должны структурировать свои данные таким образом, чтобы вы могли легко получать информацию.

Вы должны увидеть, можете ли вы использовать Aggregation или что-то еще, но у mongoDB нет внешних ключей. Что более важно, вы должны сделать правильный выбор при создании БД, вы должны выбрать соответствующую БД в соответствии с вашими требованиями.

...