Javascript 查找字段数据类型为非NaN的所有记录
我想找到与这个问题完全相反的答案 关键字Javascript 查找字段数据类型为非NaN的所有记录,javascript,mongodb,mongodb-query,Javascript,Mongodb,Mongodb Query,我想找到与这个问题完全相反的答案 关键字$not需要一个文档,我成功地使用了type,我猜NaN将是一个双重: db.collection.find({'key2': {$not : {$type :1}}}) 我设法找到的另一种方法是使用$nin: db.collection.find({'key1': NaN, 'key2' : { $nin : [NaN]}}})) 有更好的办法吗?你能指出吗 首先,祝贺您对数据进行了此操作。但这里的一个简单例子是构建一个表达式,该表达式也是NaN
$not
需要一个文档,我成功地使用了type
,我猜NaN将是一个双重:
db.collection.find({'key2': {$not : {$type :1}}})
我设法找到的另一种方法是使用$nin
:
db.collection.find({'key1': NaN, 'key2' : { $nin : [NaN]}}}))
有更好的办法吗?你能指出吗 首先,祝贺您对数据进行了此操作。但这里的一个简单例子是构建一个表达式,该表达式也是
NaN
(当然在JavaScript中)并在查询过滤器中使用它
例如:
db.collection.find({'key1':parseInt(“a”),'key2':{$nin:[parseInt(“a”)]})
因为对“不是数字”的内容执行的parseInt()
将生成常量结果,因此满足查询的匹配条件
在其他任何地方,
NaN
将作为“双精度”或BSON类型1进行计算,您需要其他逻辑来区分该“类型”与其他可能的“双精度”值。首先,祝贺您对数据执行此操作。但这里的一个简单例子是构建一个表达式,该表达式也是NaN
(当然在JavaScript中)并在查询过滤器中使用它
例如:
db.collection.find({'key1':parseInt(“a”),'key2':{$nin:[parseInt(“a”)]})
因为对“不是数字”的内容执行的parseInt()
将生成常量结果,因此满足查询的匹配条件
在其他任何地方,NaN
将计算为“Double”或BSON类型1,您需要其他逻辑来区分该“type”与其他可能的“Double”值。您可以使用运算符查找字段不包含特定值的文档。在shell中使用$ne
和NaN
效果很好:
db.collection.find({key1: {$ne: NaN}})
您可以使用运算符查找字段不包含特定值的文档。在shell中使用$ne
和NaN
效果很好:
db.collection.find({key1: {$ne: NaN}})