'MongoDB: Failed to parse objectId ' in $convert with no onError value: Invalid string length for parsing to OID, expected 24 but found 0'
分类专栏: Tool&
简介 'MongoDB: Failed to parse objectId ' in $convert with no onError value: Invalid string length for parsing to OID, expected 24 but found 0'
<p><span class="ql-size-large">使用mongoose的 aggregate聚合函数 查询的时候, 表关联查询如果id为空值时需要设置</span></p><p><br></p><pre class="ql-syntax" spellcheck="false">
{
$lookup: { // 表关联查询 { $toObjectId: '$replyId' }
let: { replyId: { $convert: { input: '$replyId', to : 'objectId', onError: '',onNull: ''}} }, // 关联字段
from: 'comments',
pipeline: [
{ $match: { $expr: { $eq: ['$_id', '$$replyId'] } } }, // 查询条件
{ $project: { _id: 1, content: 1 } }, // 查询结果
],
as: 'comment'
}
},
let: { replyId: { $convert: { input: '$replyId', to : 'objectId', onError: '',onNull: ''}} } 如果replyId存在空值
let: { replyId: { $toObjectId: '$replyId' } } 正常使用这种方式。
</pre>
分享到:
转载:
'
喜欢 2
收藏
暂无评论信息
- 相关文章
- 文章推荐
-
HTML 面试知识点总结
本部分主要是笔者在复习 HTML 相关知识和一些相关面试题时所做的笔记,如果出现错误,希望大家指出!
-
Node 配置sequelize + mysql,根据模型自动创建数据库表
研究了一下午的node + sequelize + mysql。
-
亚马逊推出“无需收银员”的新技术,以此帮助品牌和广告商提高销量
北京时间 6 月 30 日早间消息,据报道,亚马逊发明了一种无需收银员的技术,可以加快人们去杂货店或便利店的速度。现在,该公司希望利用这个跟踪系统来帮助品牌和广告商提高销量。&
-
git:如何管理本机的多个ssh密钥(多个远程仓库账号)
如果我们电脑上已经存在了一个ssh key,那么我们需要在我们电脑上生成第二个你想在本电脑上使用的id_rsa,使用命令:ssh-keygen -t rsa -C "你的github账号"。
- 点击排行
- 站长推荐
- 猜你喜欢
- 网站信息
- 站内问答:12篇
- 站内文章:213篇
- 建站时间:已运行1245天
- 备案号: 浙ICP备2022018799号
- 语言:
- English(USA)
- French(FR)
- Chinese(ZH)
无数据