Mongoose ODM:NumberInt没有定义
MongoDB集合“testing”包含一个logging:
{ "_id" : ObjectId("56f53cded3095c203024a884"), status : 0 }
我通过Node.js(Mongoose驱动程序)连接到mongo。 定义此集合的模式:
"Test" : { status : { type : Number, default : 0 } }
字段“状态”是一个二进制标志,必须只存储0或1的数字值。 我想用更新查询来改变这个标志:
test.update( { 'status' : 0 }, { $bit : { 'status' : { xor : NumberInt(1) } } }, function( err, result ) { if( err ) { console.log( 'err' ); } });
没有findMongoose NumberInt()
函数:
ReferenceError: NumberInt is not defined
当我把简单的数字“1”没有函数NumberInt()
,我没有任何更改或错误。
在MongoDBshell查询工作完美。 我如何在Mongoose驱动程序中使用NumberInt()
? 有另一个名字吗?
关于在GitHub的Mongoose仓库中支持这个特性请求上的NumberInt
有一些讨论。 然后通过这里提供的mongoose-int32
NPM软件包将其作为插件添加。 您可以通过安装然后要求模块使用类似下面的内容来实现与MongoDB的NumberInt
相同的行为。
var NumberInt = require('mongoose-int32');