mongodb不等于
在MongoDB中,不等于操作符用于查询不等于指定值的文档。MongoDB提供了两种不等于操作符:$ne
和$not
。
$ne运算符
$ne运算符用于查询字段值不等于指定值的文档,示例如下:
db.users.find({ age: { $ne: 30 } })
上述示例代码将查询出所有年龄不等于30的用户文档。$ne
运算符可以与其他查询条件结合使用,例如:
db.users.find({ age: { $ne: 30 }, gender: 'male' })
上述示例代码将查询出年龄不等于30且性别为男的用户文档。
$not
运算符
$not
运算符用于查询字段值不匹配指定条件的文档,示例如下:
db.users.find({ age: { not: {gte: 18, $lte: 60 } } })
上述示例代码将查询出年龄不在18到60之间的用户文档。$not
运算符可以与其他操作符结合使用,例如:
db.users.find({ age: { not: {in: [18, 25] }, gender: { $ne: 'female' } } })
上述示例代码将查询出年龄既不等于18也不等于25且性别不为女性的用户文档。
示例代码
假设存在以下用户数据:
db.users.insertMany([
{ name: 'Alice', age: 25, gender: 'female' },
{ name: 'Bob', age: 30, gender: 'male' },
{ name: 'Charlie', age: 20, gender: 'male' },
{ name: 'David', age: 35, gender: 'male' },
{ name: 'Eve', age: 18, gender: 'female' },
]);
我们可以通过以下示例代码进行查询:
// 查询年龄不等于30的用户
db.users.find({ age: { ne: 30 } })
// 查询年龄不在18到60之间的用户
db.users.find({ age: {not: { gte: 18,lte: 60 } } })
结果展示
对于上述示例数据和查询代码,查询结果如下所示:
// 查询年龄不等于30的用户
{ "_id" : ObjectId("60d815f64128a0f37db7912d"), "name" : "Alice", "age" : 25, "gender" : "female" }
{ "_id" : ObjectId("60d815f64128a0f37db7912f"), "name" : "Charlie", "age" : 20, "gender" : "male" }
{ "_id" : ObjectId("60d815f64128a0f37db791130"), "name" : "David", "age" : 35, "gender" : "male" }
{ "_id" : ObjectId("60d815f64128a0f37db791131"), "name" : "Eve", "age" : 18, "gender" : "female" }
// 查询年龄不在18到60之间的用户
{ "_id" : ObjectId("60d815f64128a0f37db7912d"), "name" : "Alice", "age" : 25, "gender" : "female" }
{ "_id" : ObjectId("60d815f64128a0f37db791130"), "name" : "David", "age" : 35, "gender" : "male" }
通过上述示例,我们可以看到如何在MongoDB中使用不等于操作符进行查询,并且可以灵活地结合其他操作符进行复杂的查询操作。MongoDB提供了丰富的查询功能,可以满足各种复杂查询需求。