簡體   English   中英

Mongoose 在具有 ObjectId 類型屬性的模式中查找。

[英]Mongoose find.where in a schema with an attribute of type ObjectId

我有這個模式:

用戶喜歡

const UserLikeSchema = Schema({
  user: {
    type: Schema.Types.ObjectId,
    ref: "User",
    required: [true, "User is required"],
  },
  game: {
    type: Schema.Types.ObjectId,
    ref: "Game",
    required: [true, "Game is required"],
  }
});

游戲

const GameSchema = Schema({
  title: {
    type: String,
    required: [true, "Title is required"],
  },
  status: {
    type: Boolean,
    default: true,
  },
});

我需要找到填充的 Game.status 為 true 的所有 UserLikes

我正在嘗試使用這樣的代碼

  const games = await UserLike.find()
  .populate("game")
  .where("game.status")
  .equals(true);

但我找不到解決方案:(

您應該按照 mongoose 文檔的指示嘗試使用匹配選項。

https://mongoosejs.com/docs/populate.html#query-conditions

查詢可能看起來像這樣:

UserLike.
  find().
  populate({
    path: 'game',
    match: { status: true },
  }).
  exec();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM