ការស្រង់យកទិន្នន័យពីបណ្តុំទិន្នន័យ អាចត្រូវធ្វើឡើងដោយប្រើប្រាស់ក្បួន getCollection( ) និងក្បួន getEntry( ) ។ ក្បួនទាំងពីរនេះជាក្បួនមានស្រាប់នៅក្នុងកញ្ចប់ Astro.js ។ ក្បួន getCollection( ) ត្រូវប្រើប្រាស់សំរាប់ស្រង់យកបណ្តុំទិន្នន័យទាំងមូល និងក្បួន getEntry( ) ត្រូវប្រើប្រាស់សំរាប់ស្រង់យកទិន្នន័យនៅក្នុងឯកសារណាមួយ។
<!--src/pages/index.astro-->
---
import Base from "../layouts/Base.astro"
import { getCollection, getEntry } from 'astro:content'
const posts = await getCollection('posts')
const post = await getEntry('posts', 'post-1')
---
<Base pageTitle="ទំព័រដើម" pageURL="/" >
<p>ការស្រង់យកបណ្តុំទិន្នន័យ {posts[0].data.title}</p>
<p>ការស្រង់យកទិន្នន័យទោល {post.data.title}</p>
</Base>
បណ្តុំទិន្នន័យបានមកពីការប្រើប្រាស់ក្បួន getCollection( ) គឺជាកំរងទិន្នន័យនៃឯកសារទិន្នន័យទាំងឡាយដែលមានលេខរៀងច្បាស់លាស់សំគាល់ទីតាំងរបស់វានៅក្នុងបណ្តុំទិន្នន័យ។ ដូចនេះ ការយកទិន្នន័យនៅក្នុងឯកសារណាមួយមកប្រើ ចាំបាច់ត្រូវធ្វើឡើងតាមរយៈលេខរៀងរបស់វា។ មួយវិញទៀត នៅពេលស្រង់យកទិន្នន័យនៃឯកសារណាមួយមកប្រើ ទិន្នន័យនៅក្នុង frontmatter របស់វា ត្រូវដាក់បញ្ចូលទៅក្នុងសំណុំទិន្នន័យ data ។ ចំណែកឯទិន្នន័យជាភាសា MD អាចត្រូវស្រង់យកមកប្រើបាន តាមរយៈក្បួន render( ) ដែលបានកែទិន្នន័យនេះអោយទៅជាសមាសភាគ Content ។
<!--src/pages/index.astro-->
---
import Base from "../layouts/Base.astro"
import { getCollection, getEntry } from 'astro:content'
const posts = await getCollection('posts')
const post = await getEntry('posts', 'post-1')
const {Content} = await post.render()
---
<Base pageTitle="ទំព័រដើម" pageURL="/" >
<Content/>
</Base>
ចំណែកឯទិន្នន័យដែលជាឯកសារយោង យើងចាំបាច់ត្រូវស្រង់យកវាជាលើកទីពីរទៀត ទើបអាចយកវាមកប្រើបាន។
<!--src/pages/index.astro-->
---
import Base from "../layouts/Base.astro"
import { getCollection, getEntry } from 'astro:content'
const post = await getEntry('posts', 'post-1')
const vidObj = await getEntry(post.data.videos)
---
<Base pageTitle="ទំព័រដើម" pageURL="/" >
<p>ប្រភេទនៃវិដេអូ៖ {vidObj.data.videos[0].vidType}</p>
</Base>
ក្រៅពីការស្រង់យកទិន្នន័យទាំងអស់នៅក្នុងបណ្តុំទិន្នន័យ យើងអាចប្រើក្បួន getCollection( ) ស្រង់យកតែទិន្នន័យណាដែលយើងត្រូវការ ដោយធ្វើដូចខាងក្រោមនេះ៖
<!--src/pages/index.astro-->
---
import Base from "../layouts/Base.astro"
import { getCollection, getEntry } from 'astro:content'
const posts = await getCollection('posts', ({ data }) => {
return data.categories.includes('news')
})
---
<Base pageTitle="ទំព័រដើម" pageURL="/" >
<p>{posts && posts[0]?.data.categories.toString()}</p>
</Base>