我在mongodb集合中有两种类型的文档:
关键会话具有简单值的一个:
{“sessions”:NumberLong(“10000000000001”)}
其中一个关键会话有一个值数组。
{“sessions”:[NumberLong(“10000000000001”)]}
有没有办法从第二类中检索所有文件,即。只有价值是arary而不是简单值的文件?
答案 0 :(得分:1)
您可以使用此类查询:
db.collectionName.find( { $where : "Array.isArray(this.sessions)" } );
但您最好将所有记录转换为一种类型以保持一致。
答案 1 :(得分:1)
这段代码可以很简单:
db.c.find({sessions:{$gte:[]}});
说明:
$gt, $lt, $lte
用于标准查询(注意:对聚合管道表达式中具有相同名称的操作符的不同行为)具有相同的功能。我通过MongoDB V2.4.8,V2.6.4上的练习证明了这一点。