乐闻世界logo
搜索文章和话题

Find MongoDB records where array field is not empty

4 个月前提问
3 个月前修改
浏览次数40

1个答案

1

当在MongoDB中查找数组字段不为空的记录时,您可以使用$ne(不等于)操作符来查询数组字段不等于空数组的文档。$ne操作符可以帮助您筛选出包含至少一个元素的数组字段。这里是一个查询示例:

javascript
db.collection.find({ "arrayField": { "$ne": [] } });

在这个查询中,arrayField代表您想要检查的数组字段名称,$ne是查询操作符,[]代表空数组。这个查询将返回所有arrayField字段不为空数组的文档。

例如,假设我们有一个名为students的集合,该集合中有一个名为courses的数组字段,用来存储学生所选的课程。如果您想查找至少选了一门课程的学生,您可以使用以下查询:

javascript
db.students.find({ "courses": { "$ne": [] } });

这将返回所有courses字段至少有一个元素(即至少选了一门课程)的学生文档。

如果您还想确保courses字段存在(不仅仅是非空),您可以结合使用$exists操作符和$ne操作符:

javascript
db.students.find({ "courses": { "$exists": true, "$ne": [] } });

这个查询将仅返回那些courses字段实际存在且数组不为空的学生文档。

2024年6月29日 12:07 回复

你的答案