我的收藏(MongoDB v 2.0.2)有以下记录:
db.organization.find({})
{ "_id" : 1001, "path" : [ ], "parent" : null }
{ "_id" : 1002, "path" : [ 1001 ], "parent" : NumberLong(1001) }
Run Code Online (Sandbox Code Playgroud)
organization
有索引:
db.organization.ensureIndex({"path":1});
db.organization.ensureIndex({"parent":1},{sparse:false});
Run Code Online (Sandbox Code Playgroud)
(注意我把awarnes sparse : false
- 授予null索引)但是,执行:
db.organization.find({"parent":null})
Run Code Online (Sandbox Code Playgroud)
返回空集.怎么了?先感谢您
Dan*_* K. 19
我遇到过同样的问题.阅读以下文件后
我试图查询不同的BSON元素类型,发现我的null表示为BSON元素类型6(未定义,不推荐),而不是预期的BSON元素类型10(null).
db.collection.find({ field: { "$type" : 6} };
Run Code Online (Sandbox Code Playgroud)
刚刚在2.0和2.0.2检查了以下脚本:
db.items.insert({ "_id" : 1001, "path" : [ ], "parent" : null })
db.items.insert({ "_id" : 1002, "path" : [ 1001 ], "parent" : NumberLong(1001) })
db.items.ensureIndex({"path":1});
db.items.ensureIndex({"parent":1},{sparse:false});
db.items.find({"parent":null})
Run Code Online (Sandbox Code Playgroud)
实际上返回一个你期望的文档:
{ "_id" : 1001,
"path" : [],
"parent" : null }
Run Code Online (Sandbox Code Playgroud)
此外,您可以查看有关查询和空值的文档,可能应该可以帮助您避免将来可能出现的错误.
归档时间: |
|
查看次数: |
30877 次 |
最近记录: |