You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Mongoose查找meal属性为指定数组的酒店?

Mongoose查找数组完全匹配的酒店文档方法

要找出meal属性与给定数组完全匹配的酒店文档,你可以直接使用Mongoose的find()方法,配合MongoDB的查询语法实现:

1. 严格匹配(元素顺序、内容完全一致)

假设你的酒店模型为Hotel,目标匹配数组是targetMeal,写法如下:

const targetMeal = ["breakfast", "lunch"];
const matchedHotels = await Hotel.find({ meal: targetMeal });

这种查询要求meal数组的元素顺序、内容和目标数组完全一致,且无额外元素。

2. 忽略顺序的完全匹配(元素相同即可,不管顺序)

如果不需要限制顺序,只要meal数组包含目标数组的所有元素且长度一致,可结合$all和$size操作符:

const targetMeal = ["breakfast", "lunch"];
const matchedHotels = await Hotel.find({
  meal: {
    $all: targetMeal,
    $size: targetMeal.length
  }
});
  • $all确保meal包含目标数组的全部元素
  • $size确保meal的长度和目标数组一致,避免出现包含额外元素的情况

内容的提问来源于stack exchange,提问作者053_ Kartik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 06:20:47