如何解决Mongo如何在嵌套数组中排除嵌套_id
我想在建立结果的数组的每个元素中排除嵌套的默认_id
。
我有下一个要求。在某些字段中,_id
属性可能不存在。
如何在过滤器中排除它?
有可能吗?
db.getCollection('Test').find({"name":"t1"},{"_id":0})
我从数据库获取下一个数据
{
"array" : [
{
"_id": ObjectId("5685ea32ba5298688d27cceb"),"id" : 1,"name" : "aaa"
},{
"_id": ObjectId("5685ea32ba5298688d27cceb"),"id" : 2,"name" : "bbb"
},{
"id" : 3,]
}
我想获得没有_id
的下一个数组
{
"array" : [
{
"id" : 1,{
"id" : 2,]
}
当我尝试使用
db.getCollection('Test').find({"name":"t1"},{"_id":0,"array._id":0})
我收到如下错误:
“ errmsg”:“投影不能同时包含和不包含。”, 我认为某些数组对象不包含
_id
属性的原因
解决方法
_id
在数组字段中,因此您必须使用array._id
,
db.getCollection('Test').find(
{ "name": "t1" },{ "array._id": 0 }
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。