关于null:若某列值为null,则设置条件null查询时,会返回该行文档,但同时还会返回不存在该列的文档。

> db.tianyc02.find()
{ "_id" : ObjectId("50ea6eba12729d90ce6e3423"), "name" : "xttt", "age" : 111 }
{ "_id" : ObjectId("50ea6eba12729d90ce6e3424"), "name" : "xttt", "age" : 222 }
{ "_id" : ObjectId("50ea6b6f12729d90ce6e341b"), "name" : "xtt", "age" : 11, "sex" : null }
{ "_id" : ObjectId("50ea6b7312729d90ce6e341c"), "name" : "xtt", "age" : 22, "sex" : "m" }
> db.tianyc02.find({sex:null})
{ "_id" : ObjectId("50ea6eba12729d90ce6e3423"), "name" : "xttt", "age" : 111 }
{ "_id" : ObjectId("50ea6eba12729d90ce6e3424"), "name" : "xttt", "age" : 222 }
{ "_id" : ObjectId("50ea6b6f12729d90ce6e341b"), "name" : "xtt", "age" : 11, "sex" : null }

此时,就需要判断sex列是否存在:

> db.tianyc02.find({sex:{$exists:true}})
{ "_id" : ObjectId("50ea6b6f12729d90ce6e341b"), "name" : "xtt", "age" : 11, "sex" : null }
{ "_id" : ObjectId("50ea6b7312729d90ce6e341c"), "name" : "xtt", "age" : 22, "sex" : "m" }

> db.tianyc02.find({sex:{$in:[null],$exists:true}})
{ "_id" : ObjectId("50ea6b6f12729d90ce6e341b"), "name" : "xtt", "age" : 11, "sex" : null }

相关文章:

  • 2021-07-14
  • 2022-12-23
  • 2021-07-07
  • 2021-10-20
  • 2022-03-05
  • 2022-02-03
  • 2021-09-07
猜你喜欢
  • 2022-12-23
  • 2021-06-04
  • 2021-11-20
  • 2021-10-04
  • 2022-12-23
  • 2021-08-31
  • 2022-12-23
相关资源
相似解决方案