如何仅在Couchbase中获取父文档

如何仅在Couchbase中获取父文档,couchbase,n1ql,Couchbase,N1ql,任何人都可以帮我解决这个问题 如何使用couchbase N1ql查询获得父文档结果 { "created_at": "2020-03-26T15:50:12.318Z", "created_by": 1, "deleted_at": "", "frm21_submit": null, "id": "6cb51519-7c6b-499d-8a8d-3c85658605fc", "machine_category_id": [

任何人都可以帮我解决这个问题 如何使用couchbase N1ql查询获得父文档结果

{
    "created_at": "2020-03-26T15:50:12.318Z",
      "created_by": 1,
      "deleted_at": "",
      "frm21_submit": null,
      "id": "6cb51519-7c6b-499d-8a8d-3c85658605fc",
      "machine_category_id": [
        "7a2eb767-faca-4762-b65b-2db9e1992c82",
        "259a4bcc-feb5-4d98-88c5-b331316e19be"
      ],

 "main_parts": [
    {
      "data": {
        "deleted_at": "777",
        "frm21_submit": null,
        "manufacturing_date": "03/31/2020",
        "model": "234234234",
        "photo": null,
        "serial_number": "324324234",
        "updated_at": "2020-03-31T14:11:48.909Z"
      },
      "id": "66354d7c-4769-4f3b-914e-bb841191e323"
    }
  ]

}
我希望结果只有父文档只有字段都是动态的我不能选择字段

{
"created_at": "2020-03-26T15:50:12.318Z",
  "created_by": 1,
  "deleted_at": "",
  "frm21_submit": null,
  "id": "6cb51519-7c6b-499d-8a8d-3c85658605fc",
  "machine_category_id": [
    "7a2eb767-faca-4762-b65b-2db9e1992c82",
    "259a4bcc-feb5-4d98-88c5-b331316e19be"
  ]
}

如果只想从原始文档中删除主要部分

选项1:选择所需的字段。你提到这是不可能的

选项2:选择文档中的所有字段 项目缺失为您不想要的字段

SELECT d.*, MISSING AS main_parts
FROM default AS d;
选项3:从对象的字段中删除,如果需要,使用对象函数进行级联

选项4:如果需要删除大量字段,请使用“重建对象”

SELECT  OBJECT v.name:v.val FOR v IN OBJECT_PAIRS(d) WHEN v.name NOT IN ["main_parts"] END.*
FROM default AS d;
选项5:如果字段是对象,则需要删除

SELECT  OBJECT v.name:v.val FOR v IN OBJECT_PAIRS(d) WHEN v.val IS NULL OR ISOBJECT(v.val) = false END.*
FROM default AS d;
选项6:基于值类型

SELECT  OBJECT v.name:v.val 
            FOR v IN OBJECT_PAIRS(d) 
            WHEN type(v.val) IN ["null", "boolean", "number", "string", "array", "object"] 
         END.*
FROM default AS d;
非常感谢:)它工作得很好,实际上问题是字段和子文档没有固定。它可以被增加。我真的很感谢你的帮助。
SELECT  OBJECT v.name:v.val 
            FOR v IN OBJECT_PAIRS(d) 
            WHEN type(v.val) IN ["null", "boolean", "number", "string", "array", "object"] 
         END.*
FROM default AS d;