我在使用“||”查询时看到了意外的结果 和“”&&”调节操作。看起来这是一个错误。
版本:
C:\mongodb\bin>mongo.exe -version MongoDB shell 版本:2.4.6
C:\mongodb\bin> C:\mongodb\bin>mongod.exe -version db version v2.4.6 Tue Oct 08 16:08:54.073 git version: b9925db5eac369d77a3a5f5d98a145eaaacd9673
数据库记录:~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\mongodb\bin>
>
db.cars.find() {“_id”:100,“可用”:1,“颜色”:“红色”,“名称”:“GTO”,“年份”:3939 }
db.cars.find({available:1,year:3939}){“_id”:100,“available”:1,“color”:“red”,“name”:“GTO”,“year”:3939 }
>
db.cars.find( { $where: "this.available == 1" && "this.year == 3939" }) { "_id" : 100, "available" : 1, "color" : "red", “名称”:“GTO”,“年份”:3939 }
> >
db.cars.find( { $where: "this.available == 1" || "this.year == 3939" }) { "_id" : 100, "available" : 1, "color" : "red" ,“名称”:“GTO”,“年份”:3939 }
看到的问题:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下命令使用 OR 条件操作(即使用 || )并且只有一个条件为真。但是仍然没有显示条目..这是不正确的。db.cars.find( { $where: "this.available == 11" || "this.year == 3939" })
以下命令使用 AND 条件操作(即使用 && ),只有一个条件为真,但显示的条目不正确。对于 AND 条件,两个表达式都应返回 TRUE。db.cars.find( { $where: "this.available == 11" && "this.year == 3939" }) { "_id" : 100, "available" : 1, "color" : "red", “名称”:“GTO”,“年份”:3939 }
如果我错过了什么,请告诉我。
此致 Jayanna Hallur 大数据分析师,Wipro Technologies,班加罗尔