连接到 MongoDB Atlas 时,如何获取从 Node.js 中的 foreach 循环返回的字符串的子字符串
How can I get a substring of the strings returned from a foreach loop in Node.js when connected to MongoDB Atlas
问题:当我将我的代码连接到 MongoDB Atlas 时,.substring() 没有处理。
背景:
我是编码新手,我正在创建一个博客,我需要在其中将 posts 渲染到博客路由和使用路由参数的动态路由,并且 posts 需要保存到MongoDB 阿特拉斯服务器。
我只需要在每个 post 中显示前 100 个字符,然后使用 "Read More" link 将用户引导到另一个页面。
当我使用 localhost:3000 呈现数据时,博客 post 被成功使用 .substring(0, 100) 截断,但是当我连接到 MongoDB Atlas 时,错误消息 "Cannot read property 'substring' of undefined." 如果我删除 .substring() 一切正常,那么还有另一种截断字符串的方法吗?
我在网上找不到太多,但到目前为止我已经尝试了 MongoDB 的 $substrBytes 和 $substr(deprecated)。
<% posts.forEach(function(post) { %>
<!-- Render the postTitle value as the title of the journal entry -->
<h2><%= post.title %> </h2>
<p>
<!-- Render the postBody value and truncate the blog post to 100
characters -->
<%= post.content.substring(0, 100) + '...'%>
<!-- Add a link to see the full blog post on a separate page -->
<a href="/posts/<%= post._id %>">Read More</a>
</p>
<% }) %>
预期结果: ...阅读更多
实际结果:TypeError:...\blog.ejs。无法读取未定义
的 属性 'substring'
很明显你的一些帖子没有内容,写下安全代码
<%= (post.content)? post.content.substring(0, 100) + '...' : 'No content available' %>
问题:当我将我的代码连接到 MongoDB Atlas 时,.substring() 没有处理。
背景: 我是编码新手,我正在创建一个博客,我需要在其中将 posts 渲染到博客路由和使用路由参数的动态路由,并且 posts 需要保存到MongoDB 阿特拉斯服务器。 我只需要在每个 post 中显示前 100 个字符,然后使用 "Read More" link 将用户引导到另一个页面。 当我使用 localhost:3000 呈现数据时,博客 post 被成功使用 .substring(0, 100) 截断,但是当我连接到 MongoDB Atlas 时,错误消息 "Cannot read property 'substring' of undefined." 如果我删除 .substring() 一切正常,那么还有另一种截断字符串的方法吗?
我在网上找不到太多,但到目前为止我已经尝试了 MongoDB 的 $substrBytes 和 $substr(deprecated)。
<% posts.forEach(function(post) { %>
<!-- Render the postTitle value as the title of the journal entry -->
<h2><%= post.title %> </h2>
<p>
<!-- Render the postBody value and truncate the blog post to 100
characters -->
<%= post.content.substring(0, 100) + '...'%>
<!-- Add a link to see the full blog post on a separate page -->
<a href="/posts/<%= post._id %>">Read More</a>
</p>
<% }) %>
预期结果: ...阅读更多 实际结果:TypeError:...\blog.ejs。无法读取未定义
的 属性 'substring'很明显你的一些帖子没有内容,写下安全代码
<%= (post.content)? post.content.substring(0, 100) + '...' : 'No content available' %>