在这里,我使用 $lookup 到其他集合的左连接,查询工作正常,但是当某些记录缺少值时,它会返回
errmsg : $in requires an array as a second argument, found: null
查询文档结构如下:
{
"no" : "2020921008981",
"sale" : {
"soldItems" : [
{
"itemId" : "5b55ac7f0550de00210a3b24",
},
{
"itemId" : "5b55ac7f0550de00215584re",
}
],
"bills" : [
{
"billNo" : "2020921053467",
"insurancePlanId" : "160",
},
{
"billNo" : "2020921053467",
"insurancePlanId" : "170",
}
],
"visitIds" : [
5b55ac7f0550de00210a3b24, 5b55ac7f0550de00210a3b24
]
}
}
Run Code Online (Sandbox Code Playgroud)
查询:
db.case.aggregate([
{
$lookup: {
from: "insurance",
let: { ipids: "$sale.bill.insurancePlanId" },
pipeline: [
{ …Run Code Online (Sandbox Code Playgroud) 尝试将字符串格式的日期转换为 Java LocalDateTime。
private DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm");
private String caseStartDate = dateFormat.format(LocalDateTime.now());
LocalDateTime localdatetime = LocalDateTime.parse(caseStartDate);
Run Code Online (Sandbox Code Playgroud)
但最终出现了这个异常:
java.time.format.DateTimeParseException:无法在索引 0 处解析文本“01/03/2020 15:13”
这个格式不支持转换吗?