mongodb - Mongodb:将条件添加到数组更新中
问题描述
我想知道更多条件如何在 mongodb 上工作。就我而言,我有一个 $addToSet 运算符:
$addToSet: {
$dateToString: {
"date": "$contributions.validationDate",
"format": "%d.%m.%Y",
}
}
如果 $contributions.validationDate 存在,我的目标是仅 $addToSet 。
解决方案
在你的情况下,你可以尝试这样的事情:
// Assuming $addToSet is being used in $group, not sure where exactly you're using it.
db.yourCollection.aggregate([{
$group:
{
_id: null,
uniqueDates: {
$addToSet: { $dateToString: { format: "%d.%m.%Y", date: "$contributions.validationDate", onNull: '$noVal' } }
}
}
}
])
整点在这里-您只需要onNull: '$noVal'
,这将避免null
在contributions.validationDate
缺少时添加。
参考: $dateToString
推荐阅读
- spring-webflux - Spring Webflux 使用 DataBuffer 将 WebClient.exchange() 迁移到 WebClient.exchangeToMono()
- mechanicalturk - 创建包含 Mturk“workerId”但在 Turkprime(Cloudresearch)中称为“participant_label”的外部链接
- python - 连续说出 nsfw 单词 3 次后如何使不和谐机器人静音用户
- c# - 谁在显示 ContextMenu:表单还是通知图标?
- php - 正则表达式 | 爆炸 | str_split 匹配标题中的数字
- apache - AH01630:客户端被服务器配置拒绝:/data
- java - 如何在我的角度应用程序中调用和使用spring REST POST API,它返回没有正文的字符串?
- reactjs - 使用 onChange 的带有 event.target.id 的材质 ui 自动完成 ID
- apache-kafka - Apache Kafka 推荐的生产部署策略是什么?
- autodesk-forge - 尝试访问 Data Connector API 时出现“无法访问 API 产品”错误