如何使用R中的mongoite更新mongo中的布尔值

时间:2018-05-31 09:34:14

标签: r mongolite

我无法使用mongolite更新mongo中的bool值。我在r中有一个bool值(FALSE),我正在尝试更新当前值为true的mongo中的字段(mongo bool)。但是在使用mongolite进行更新命令后,在mongo中存储的bool值true更改为字符串值FALSE(R bool类型)。

1 个答案:

答案 0 :(得分:0)

mongolite不会将r布尔值自动更新为mongo布尔值。

这会为我抛出Error: Invalid JSON object

m$update('{"name":"foo", "$set":{"boolean":FALSE}}')

这会将FALSE插入为字符串:

m$update('{"name":"foo", "$set":{"boolean":"FALSE"}}')

这会将false插入为布尔值:

m$update('{"name":"foo", "$set":{"boolean":false}}')

如果您以编程方式进行更新查询,则可以执行以下操作:

```

my_boolean <- FALSE
my_updateQuery <- paste0('{"$set":{"boolean":',tolower(paste0(my_boolean)),'}}')
m$update('{"name":"foo", my_updateQuery)

```