首页 > MongoDB > MongoDB的$where查询

MongoDB的$where查询

来源:原创 作者:thomas 分类:MongoDB 阅读:631 日期:2014-05-26

1、比较文档中两个键的值是否相等

示例1:

如下文档数据:

> db.wt.find();

{ "_id" : ObjectId("52e08389176a137aedf46f95"), "x" : 1, "y" : 2 }

{ "_id" : ObjectId("52e08397176a137aedf46f96"), "x" : 3, "y" : 4 }

{ "_id" : ObjectId("52e083a7176a137aedf46f97"), "x" : 5, "y" : 6 }

{ "_id" : ObjectId("52e083b7176a137aedf46f98"), "x" : 7, "y" : 8 }

{ "_id" : ObjectId("52e083c8176a137aedf46f99"), "x" : 9, "y" : 0 }

{ "_id" : ObjectId("52e083df176a137aedf46f9a"), "x" : 5, "y" : 5 }

如何查找出x==y的文档数据?

方法1:> db.wt.find({"$where" : "this.x == this.y"});

方法2:> db.wt.find({"$where" : function(){return this.x == this.y}});

注意:避免使用"$where"查询,因为在速度上要比常规查询慢很多,每个文档都要从BSON转换为JavaScript对象,然后通过"$where"的表达式来运行,并且不能使用索引。

十日谈技术博客

 

热门文章 更多>

微信扫一扫,关注技术十日谈