gpt4 book ai didi

mongodb - Morphia 将字段更新为 int64 而不是 in32

转载 作者:可可西里 更新时间:2023-11-01 10:48:56 25 4
gpt4 key购买 nike

我已经使用 Morphia 编写了一个将文档更新插入到 Mongo 的操作。

我有一个字段,我想将其保存为 int32,但在更新插入后它被插入为 int64。

我已经确保我使用 Long.intValue() 将 long 转换为 int,并且 Morphia 序列化回的对象,成员字段是 int。我还检查了 UpdateOperations.ops 以查看吗啡正在更新什么。

upsert操作是:

UpdateOperations<Test> ops = datastore.createUpdateOperations(Test.class)
.set("test_field", testField.intValue())

我目前使用的 Mongo 版本是 3.0。

任何帮助将不胜感激!

谢谢!

编辑:查看Morphia中的更新查询操作是:

{$set={test_field=11}}

最佳答案

我设法找到了解决方案。 upsert 的查询是在 test_field 上查询 long 而不是 int。 Mongo 3.0 将此视为要插入的类型 - 但是在 Mongo 3.2 上运行时没有问题,它将使用更新插入操作中指定的类型进行更新,而不是查询。

关于mongodb - Morphia 将字段更新为 int64 而不是 in32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45552625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com