我有一个{s:1}
关于集合 k 的索引,例如:
k中的数据喜欢:
{ s:"aaa"} ,
{s:"bbb"} ,
{s:""}
{s:{$gt:""}}
找出 s 的长度大于 0 的每个项目是否安全?
我有一个{s:1}
关于集合 k 的索引,例如:
k中的数据喜欢:
{ s:"aaa"} ,
{s:"bbb"} ,
{s:""}
{s:{$gt:""}}
找出 s 的长度大于 0 的每个项目是否安全?
基于以下事实,我认为它是“安全的”:
要测试索引是否正常工作,您可以执行
db.collectionName.find({s: {$gt: ""}}).explain()
看到"cursor" : "BtreeCursor s_1"
时,表示索引有效。
但是,您是否考虑修改应用程序逻辑并s
在字段为空时删除?
db.test.find({s: {$exists: false}}).hint({s: 1})
可以在这个查询中使用。它比自然更自然$gt
。s
。使用 $ne 可能更合适
即“不等于”