Mongodb 在没有_id的情况下填充

Mongodb 在没有_id的情况下填充,mongodb,mongoose,mongoose-populate,Mongodb,Mongoose,Mongoose Populate,我有两个mongoose模式,一个用于股票(股票信息),另一个用于交易。其中,交易代表股票的交易(时间、数量等)。每个股票都有一个符号代码,我从中获取交易的数据源包括符号代码作为字符串。既然我不能在这里使用普通的猫鼬'ref',我该如何填充这两个集合 以下是我的两个模式: const stockSchema = new Schema({ symbolCode: { type: String, trim: true }, symbol: { type: String, trim: true

我有两个mongoose模式,一个用于
股票
(股票信息),另一个用于
交易
。其中,交易代表股票的交易(时间、数量等)。每个
股票
都有一个符号代码,我从中获取交易的数据源包括符号代码作为字符串。既然我不能在这里使用普通的猫鼬
'ref'
,我该如何填充这两个集合

以下是我的两个模式:

const stockSchema = new Schema({
  symbolCode: { type: String, trim: true },
  symbol: { type: String, trim: true },
  type: { type: String, index: true, trim: true },
  country: { type: String, lowercase: true }
})

 const tradeSchema = new Schema({
  symbolCode: { type: String, index: true },
  symbol: { type: String, index: true },
  price: Number,
  volume: Number,
  time: Date,
  currency: { type: String, default: 'USD', uppercase: true, index: true }
})

我想删除
trade
模式中的前两个字段,这样我就可以在这里对股票进行某种引用。如何才能做到这一点?

为了将来参考,我使用以下方法解决了此问题:

 stockSchema.virtual('trades', {
  ref: 'Trade',
  localField: 'symbolCode',
  foreignField: 'symbolCode',
  justOne: true
})

使用如下方式填充:
MyModel.populate([{path:'author',select:'username-_id')

-fieldName
或在您的情况下
-\u id
将从投影中扣除它