MongoDB 集合“test”包含一条记录:
{ "_id" : ObjectId("56f53cded3095c203024a884"), status : 0 }
我通过 Node.js(Mongoose 驱动程序)连接到 mongo。定义该集合的架构:
"Test" : {
status : { type : Number, default : 0 }
}
字段“status”是一个二进制标志,只能存储 0 或 1 个数值。我想通过更新查询更改此标志:
test.update( { 'status' : 0 }, { $bit : { 'status' : { xor : NumberInt(1) } } }, function( err, result ) {
if( err ) {
console.log( 'err' );
}
});
未找到猫鼬NumberInt()
功能:
ReferenceError: NumberInt is not defined
当我输入简单的数字“1”而没有功能时NumberInt()
,我没有任何更改或错误。
在 MongoDB shell 中,查询运行得很好。我如何与NumberInt()
在猫鼬驱动程序中?它还有别的名字吗?
有一些关于支持的讨论NumberInt
on 此功能请求 https://github.com/Automattic/mongoose/issues/3102在 GitHub 上的 Mongoose 存储库中。然后通过以下方式将其添加为插件mongoose-int32
NPM 包可用here https://www.npmjs.com/package/mongoose-int32。您可以实现与 MongoDB 相同的行为NumberInt
通过安装然后使用类似以下内容的模块来要求该模块。
var NumberInt = require('mongoose-int32');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)