如何从数组中读取特定元素,该元素是来自 mongodb 的车把文件中对象的一部分?
Posted
技术标签:
【中文标题】如何从数组中读取特定元素,该元素是来自 mongodb 的车把文件中对象的一部分?【英文标题】:How to read a particular element from array which is the part of object in handlebar file from mongodb? 【发布时间】:2020-11-20 13:43:12 【问题描述】:下面是我的 mongo db json 文件。 当在 express 中调用路由 /addTask 时,我想为 .hbs(handle bar) 文件中的每个对象元素从数组“Addtasks”中读取“主题”元素。
"_id" : ObjectId("5f2313cb1351d606046660fd"),
"email" : "mike@g.com",
"name" : "Mike Tyson",
"Addtasks" : [
"otherdetails" : "haha great!",
"website" : "asad.com",
"keywords" : "article importance, article generation, article quality",
"words" : 1000,
"topic" : "How article is generated?",
"_id" : ObjectId("5f2314011351d606046660ff")
,
"otherdetails" : "Not much thanks!",
"website" : "abcdxyz.co.in",
"keywords" : "niggas are great, yo whatsup!",
"words" : 2000,
"topic" : "whats your name nigga?",
"_id" : ObjectId("5f23142d1351d60604666101")
],
【问题讨论】:
【参考方案1】:如果你传入你的数据是这样的::
res.render('mytemplate.hbs', items: jsObject.Addtasks );
那么你的 hbs 可能看起来像这样:
<ul>
#each items
<li>this.topic</li>
/each
</ul>
(有点不相关,但是那个 json-file 不是有效的 JSON。JSON 和 javascript 对象不是一回事。)
【讨论】:
【参考方案2】:您可以使用 .find() 的第二个参数来投影您想要的值。
https://mongoplayground.net/p/LLuM1sd5Raq
db.collection.find(,
"Addtasks.topic": 1,
name: 1, // Add whatever other fields you need as well, remove if not
email: 1,
)
产量:
[
"Addtasks": [
"topic": "How article is generated?"
,
"topic": "whats your name nigga?"
],
"_id": ObjectId("5f2313cb1351d606046660fd"),
"email": "mike@g.com",
"name": "Mike Tyson"
]
【讨论】:
如何将它返回到车把意味着现在如何在车把文件中使用结果?既然这样,我将在 nodejs 端编写 find() 代码。以上是关于如何从数组中读取特定元素,该元素是来自 mongodb 的车把文件中对象的一部分?的主要内容,如果未能解决你的问题,请参考以下文章
选择带有restangular或angular的嵌套数组元素