mydb> db.students.find( ... { community: { $exists: true, $size: { $gte: 2 }, $regex: /^舞蹈协会$/, $options: 'i' } }, ... { name: 1, sex: 1, age: 1, community: { $slice: [1, 1] } } ... ) MongoServerError: Failed to parse $size. Expected a number in: $size: { $gte: 2 }
时间: 2023-07-14 19:12:34 浏览: 150
在这个查询中,$size是一个用于确定数组大小的运算符,它需要一个数字作为参数。在您的查询中,$size的参数设置为{ $gte: 2 },这不是一个有效的数字。
如果您想查找community数组长度大于等于2且以“舞蹈协会”开头的学生记录,您可以尝试以下查询:
```
db.students.find(
{
community: /^舞蹈协会/,
$where: "Array.isArray(this.community) && this.community.length >= 2"
},
{ name: 1, sex: 1, age: 1, community: { $slice: [1, 1] } }
)
```
这个查询使用了正则表达式来匹配以“舞蹈协会”开头的字符串,并使用$where运算符来确定community字段是一个数组且其长度大于等于2。
阅读全文