Mongodb 1将另存为1.0

Mongodb 1将另存为1.0,mongodb,mongodb-query,Mongodb,Mongodb Query,在集合上运行此查询时,我得到了预期值1被保存为1.0 db.getCollection('users').update({}, {$set: {isActive: 1}}, {upsert:true, multi:true}) 更新的收藏 /* 1 */ { "_id" : ObjectId("5a31d14e358d0a5073f0ec26"), "createdAt" : ISODate("2017-12-14T01:18:06.784Z"), "__v" : 0,

在集合上运行此查询时,我得到了预期值
1
被保存为
1.0

db.getCollection('users').update({}, {$set: {isActive: 1}},
{upsert:true, multi:true})
更新的收藏

/* 1 */
{
    "_id" : ObjectId("5a31d14e358d0a5073f0ec26"),
    "createdAt" : ISODate("2017-12-14T01:18:06.784Z"),
    "__v" : 0,
    "isActive" : 1.0
}

如果有问题,可以显式定义数据类型,例如
{$set:{isActive:numberprint(1)}


如果它是一个问题,您可以明确定义数据类型,例如,
{$set:{isActive:numberprint(1)}
@AlexBlex,它解决了我的问题。请作为答案发布。即使它解决了我的问题,它不应该保存为
1
?它是一个问题吗?老实说,我不知道这是一个什么问题。如果您搜索
查找({isActive:1})
您仍然可以获得带有
“isActive”:1.0
的文档。但是您问了-我回答了,假设这在您的特定情况下导致了一些问题。否则,您为什么要费心问?=)@niksmac JavaScript只有一个(
编号
),始终是64位浮点值。如果您在
mongo
shell中使用数值,1仍然表示为浮点,除非您使用MongoDB的帮助程序(用于32位整数或基于128位十进制的浮点值)。@Stennie感谢您的澄清。非常感谢。