我是MongoDB的新手,在这里有点疯狂。我正在使用最新的mongo java驱动程序版本和dropwizard。
我使用POJO向DDBB写入数据,这很有效。但是,在尝试获取元素时,我没有获得实际的\u id。以下是我尝试的内容:
DDBB文档
{
_id:603c249cbb33487d9baa49f8,
name:"John"
}
人物类
public class Person {
@BsonProperty("_id")
@BsonId
private ObjectId id;
@NotNull
@JsonProperty
private String name;
}
返回值:
{
"id": {
"timestamp": 1614554268,
"counter": 11160056,
"machineIdentifier": 12268360,
"processIdentifier": 32155,
"timeSecond": 1614554268,
"time": 1614554268000,
"date": 1614554268000
},
"name": "John"
}
如您所见,它不会返回实际的id(例如603c249cbb33487d9baa49f8)。我尝试将id设置为字符串,但我得到的错误是解码“Person”失败。解码“\u id”时出错:仅当CurrentBSONType为STRING时才能调用readString,而当CurrentBSONType为OBJECT\u id时不能调用readString。
我跟着几个向导,在这里搜索了一些问题,但是似乎没有什么有用的。
任何帮助都非常感谢!
您只需使用MongoId,而不用BsonId
public class Person {
@MongoId
private String id;
@NotNull
@JsonProperty
private String name;
}
您不需要使用BsonId,只需使用Id,Id字段的数据类型应为字符串。在这种情况下,您将获得mongo生成的12位Id。
public class Person {
@Id
private String id;
@NotNull
@JsonProperty
private String name;
}
问题内容: 我创建了一个自定义错误类型来包装错误,以便更轻松地在Golang中进行调试。当有打印错误时它可以工作,但是现在引起了恐慌。 演示版 当我调用一个函数时,它不会返回错误,我仍然应该能够包装该错误。 预期的行为是,如果错误为nil,则应该简单地忽略它,不幸的是,它会做相反的事情。 我希望它能打印出来。而是即使错误为nil也会打印。 问题答案: 正在将err变量与nil进行比较,但实际上它是
我刚刚开始学习Javascript,现在只是学习一些基本的东西。但问题是我真的不明白如果这个switch语句如何返回 null null 还有人看到问题了吗? 如有任何帮助,我们将不胜感激!
我注意到,如果没有where(),returning()操作不可用。这是故意的吗? 这项工作: 这不起作用: 我应该考虑这个“黑客”吗?
这三个函数的返回类型提示有什么不同吗? 他们都应该有< code>- 提问的动机是这个问题,这个很好的答案,以及我正在学习类型提示的事实。
问题内容: 例如我有一个功能: 我怎样才能返回AJAX后得到的? 问题答案: 因为请求是异步的,所以您无法返回ajax请求的结果(而同步ajax请求是一个 糟糕的 主意)。 最好的选择是将自己的回调传递给f1 然后,您将像这样致电:
问题内容: 问题答案: 有很多原因不回来。 但这通常归结为以下事实:执行的命令不会退出。 同样,这可能有很多原因。 一个普遍的原因是该过程产生了一些输出,而你没有从适当的流中读取。这意味着一旦缓冲区已满,进程就会被阻塞,并等待你的进程继续读取。你的进程依次等待另一个进程完成(之所以不会,是因为它等待你的进程,…)。这是一个典型的僵局情况。 你需要不断从流程输入流中读取内容,以确保它不会被阻塞。