无法在 spfx 应用程序中使用 pnp.sp.search 获取文档 ID

Cannot get documentid using pnp.sp.search in spfx app

在较旧的 JavaScript 应用程序中,我使用关键字查询来搜索文档属性,并且我可以添加要检索的 'DlcDocID' 字段(文档 ID)。

我目前正在开发该应用程序的 Spfx 版本,并使用 pnp.sp.search 获取文档数据。这样我可以获得 UniqueId 和 DocId,但不能获取文档 ID。如何将此参数包含在搜索结果中?

额外:

我用的是1.3.11,这段代码

    pnp.sp.search(
      {
         Querytext:query,
         RowLimit:rows,
         StartRow:start,
         SelectProperties: ["DocId"
         , "UniqueId"
         ,"FileType"
         ,"ServerRedirectedEmbedURL"
         , "ServerRedirectedPreviewURL"
         ,"LastModifiedTime"
         ,"Write"
         ,"Size"
         ,"SPWebUrl"
         ,"ParentLink"
         ,"Title"
         ,"HitHighlightedSummary"
         ,"Path"
         ,"Author"
         ,"LastModifiedTime"
         ,"DlcDocID"
        ],

但 DlcDocID 从未检索到。

at the docsDlcDocID应该是可检索的(默认是可查询和可检索的)。您是否尝试过使用 SearchQueryBuilderselectProperties

const q = SearchQueryBuilder().text(yourQuery).
    .rowLimit(10).processPersonalFavorites.selectProperties('*', 'DlcDocID');
const results = await sp.search(q);

SearchQueryBuilder reference

问题是 pnp SearchResult 接口在这个版本中没有 DlcDocID。添加它解决了问题。