我正在使用Firebase Hosting,该firebase.json文件应该将所有流量转发到云功能(prerender),该功能会填充SEO的元标记和og标记.
{
"hosting": {
"public": "dist/prod",
"rewrites": [
{
"source": "**",
"function": "prerender"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
我的prerender功能是处理请求并呈现HTML文件.这很好用:
export const prerender = functions.https.onRequest((req, res) => {
console.log('prerender function: "' + req.path + '"');
...
}
Run Code Online (Sandbox Code Playgroud)
点击结束点时https://xxx.cloudfunctions.net/prerender,我正确地在功能 - >日志下的Firebase仪表板中接听电话:
prerender function: "null"
Run Code Online (Sandbox Code Playgroud)
但是,在调用时https://mypage.firebaseapp.com,我没有得到任何日志,它似乎渲染了index.html我的dist/prod文件夹的内部.
重写有什么我想念的吗?我尝试重写/相同的功能,但没有成功.任何提示非常感谢!
javascript express firebase firebase-hosting google-cloud-functions
这与此问题非常相似,但是,当使用类似的方法时,我不断获得仅包含子文档的文档的列表.
我有一个简单的架构,可以上下投票的问题.我的架构(为简单起见,我删除了一些字段):
var mongoose = require('mongoose');
var voteSchema = new mongoose.Schema({
value: Number,
});
// Document schema for polls
exports.PollSchema = new mongoose.Schema({
question: { type: String, required: true },
votes: [voteSchema],
});
Run Code Online (Sandbox Code Playgroud)
我希望列出所有问题和各自的分数.得分是voteSchema中"值"字段的总和.
我正在尝试使用$ cond来确保空投票文档被替换为至少一个值为0的投票子文档.不幸的是,当使用它时,我的所有totalScore字段都是0.如果不使用它,我得到了正确的总分数,但仅适用于非空分数.
Poll.aggregate([
{ $project: {
_id: 1,
question: 1,
totalScore : 1,
votes : { $cond : [ { $eq : ["$votes.length", 0]}, '$votes', [ { value : 0} ]] }
}},
{ $unwind: "$votes" },
{ $group: {
_id : "$_id",
question: …Run Code Online (Sandbox Code Playgroud)