我在MongoDB中有以下格式的文件:

product = {
    items : Array
}

样品

{
   "items": ["bananas","apples","grapes","guavas","pineapples"]
}

我想获取其中一个项的元素包含名为apple的子字符串的所有文档

理想情况下,数组中的applespineapples包含子字符串apple,因此文档应该匹配.

我的try 没有成功

let prods = await Product.find({items: {"$in":["apple"]}); //But not working

如果有更好的方法,我们将不胜感激.

谢谢

推荐答案

只需判断正则表达式条件,

  • 使用$regex操作员判断状况
let prods = await Product.find({
  items: {
    $regex: "apple"
  }
});

Playground

Node.js相关问答推荐

Node.js promise 循环中的所有多个API调用

序列化事务未按预期工作

运行JEST测试时找不到模块&q;错误

GraphQL MongoDB Mongoose填充字段未获取多个类别

Mongoose:如何在文档中推送到Caped(有限大小,滚动窗口)数组?

根据我的测试,为什么在编写Varint代码方面,NodeJS要比Rust快这么多?

无法从MongoDB文档中保存的对象数组中获取对象的属性

每个数组值在 mongodb 中查找一个文档

突然 React 无法执行create-react-app命令.为什么会发生这种情况,我该如何解决?

使用中的端口代码:'EADDRINUSE',即使在 kill 命令之后

baseurl64 缓冲区解码

使用服务帐户将 Firebase 应用程序部署到 Heroku(使用 dotenv 的环境变量)

什么是nestjs错误处理方式(业务逻辑错误vs.http错误)?

在 express 中添加故意延迟

如何在 MongoDB 中查询引用的对象?

node.js 中存储的模块变量在什么范围内?

续集findbyid不是一个函数,但显然findAll是

如何设置 useMongoClient (Mongoose 4.11.0)?

在 Node.js 中获取终端的宽度

如何阻止 babel 将this转换为undefined(并插入use strict)