标签: keystonejs

迭代jade/pugjs中的一个对象数组

我有以下json对象:

 var partners =[{ "name":"partnerx", "image": "imagex" }, { "name": "partnery", "image": "imagey" }]
Run Code Online (Sandbox Code Playgroud)

我想用jade放入一个ul对象,我试过:

ul#slides.swiper-wrapper
   mixin partners(name, image)
    li.swiper-slide
       img(src=#{image} , alt=#{name})
Run Code Online (Sandbox Code Playgroud)

这不起作用.

node.js jade4j keystonejs pug

13
推荐指数
1
解决办法
2万
查看次数

如何在KeystoneJS中创建唯一键

我正在使用KeystoneJS构建的网站,该网站允许用户发布单词并从其他用户获取建议的同义词.单词是作为短语或句子的一部分提交的,例如"猫是[危险地]接近敲击玻璃."

My Sentence模型如下所示:

Sentence.add({
    sentence: { type: Types.Text, required: true, initial: "New Sentence", index: true },
    word: { type: Types.Relationship, ref: 'Word', required: true, index: true, unique: true, initial: true },
    submitter: { type: Types.Relationship, ref: 'User', required: true, index: true, unique: true, initial: true },
    source: { type: Types.Text },
    createdAt: { type: Date, default: Date.now }
});
Run Code Online (Sandbox Code Playgroud)

我试图根据Mongoose文档使Word模型独一无二:

var Word = new keystone.List('Word', { 
    map: { name: 'word' },
    _id: { from: 'word', path: 'word', unique: true, fixed: …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb nosql node.js keystonejs

12
推荐指数
1
解决办法
1202
查看次数

KeystoneJS 和 Strapi 作为创建 CMS 驱动应用程序的工具之间的主要区别是什么?

当我想将 Vue/React/Angular 粘贴到 SPA 的前端时,我倾向于将 Keystone(原样)用于标准的、服务器驱动的多页应用程序和 Strapi?因为它已经有一个模板/视图,Keystone 可能会更快地获得 MVP?还要别的吗?

frontend web-applications content-management-system strapi keystonejs

11
推荐指数
2
解决办法
4015
查看次数

将小Parse ID迁移到普通MongoDB的ObjectID

我正在使用Parse Dashboard进行iOS应用程序的用户管理.此外,我正在使用使用MongoDB数据库的外部API.

我目前面临的问题是从Parse Dashboard创建的用户具有较小的id而不是MongoDB的ObjectID,而其他未解析的资源则由普通的ObjectID生成.

例如.用户对象:

{
_id:"qVnyrGynJE",
user_name:"Aditya Raval"
}
Run Code Online (Sandbox Code Playgroud)

文件对象:

{
_id:"507f191e810c19729de860ea",
doc_name:"Marksheet",
user:"qVnyrGynJE"
}
Run Code Online (Sandbox Code Playgroud)

任务对象:

{
_id:"507f191e810c19729de860ea",
task_name:"Marksheet",
user:"qVnyrGynJE"
}
Run Code Online (Sandbox Code Playgroud)

我也使用Keystone.js作为后端管理仪表板.所以基本上由于这种混合类型的KeyStone.js中的ID关系被破坏而Keystone.js崩溃了.

因此,我想通过修复Keystone.js将所有现有的小ID迁移到普通的MongoDB ObjectID,而不会破坏关系或任何其他演练.

mongodb node.js objectid parse-server keystonejs

10
推荐指数
1
解决办法
250
查看次数

pugjs(jade模板) - 删除块语句中的换行符

我很难each在哈巴狗js模板(以前称为jade)的语句中删除元素之间的换行符

我的代码看起来像这样.我想在li呈现HTML时在元素之间没有空格,所以我试图在它们之间使用注释.

mixin nav(links)
  ul.nav <!--
    each link in links
      |-->
      li(class=(section == link.key ? 'active' : null)): a(href=link.href)= link.label
      |<!--
    |-->
Run Code Online (Sandbox Code Playgroud)

现在这给了我这个结果:

<ul class="nav"><!---->
  <li class="active"><a href="/">Home</a></li><!---->
  <li><a href="/foo">Foo</a></li><!---->
  <li><a href="/bar">Bar</a></li><!---->
  <li><a href="/yada">Yada</a></li><!---->
</ul>
Run Code Online (Sandbox Code Playgroud)

有没有一种好方法可以告诉哈巴狗我希望这些元素之间没有空白,或者这是语言的限制?我正在使用KeystoneJS,它在开发环境中会告诉哈巴狗解释器美化HTML.我希望产品在开发到生产之间保持一致(而不是在CSS中编写一种由生产环境中的缩小否定的解决方法)

html javascript node.js keystonejs pug

9
推荐指数
1
解决办法
334
查看次数

如何使用Keystone.js添加Array类型的虚拟属性?

这是我的模型的代码:'Info'及其创建问题的tokens属性.

var keystone = require('keystone'),
    Types = keystone.Field.Types;
var Info = new keystone.List('Info');
Info.add({
    title: { type: String, required: true, initial: true },
    subtitle: { type: String, initial: true },
    content: { type: Types.Markdown, height: 500, initial: true },
    author: { type: Types.Relationship, ref: 'User', initial: true },
    date: { type: Types.Date, default: Date.now, initial: true },
    published: { type: Boolean, default: false, initial: true },
    tokens: { type: Array, virtual: true, noedit: true, collapse: true }
});

Info.defaultColumns = …
Run Code Online (Sandbox Code Playgroud)

javascript content-management-system keystonejs

8
推荐指数
1
解决办法
4090
查看次数

如何对keystonejs模型进行单元测试?

有没有办法为keystonejs运行测试,这些测试也会遇到测试或真正的mongodb实例?

如果类似于Django的方式,这将是很好的.

unit-testing mongoose mongodb node.js keystonejs

8
推荐指数
1
解决办法
1586
查看次数

使用htaccess将keystone app重定向到子目录

我是htaccess的新手.我正在使用Keystone.js,我使用它开发了一个正在侦听端口3000的博客.像这样:

https://localhost:3000
Run Code Online (Sandbox Code Playgroud)

现在一切都很好.但我想要的是我的博客应该在这个网址上运行:

https://localhost/blog
Run Code Online (Sandbox Code Playgroud)

我如何实现这种情况,我提供" https:// localhost/blog ",它应该像" https:// localhost:3000 "一样工作.在这种情况下,URL将保持不变:https:// localhost/blog

另外,我还希望当用户访问此网址时:" https:// localhost:3000 ",它应该重定向到:" https:// localhost/blog ".

我该如何实现这种情况?我想要的只是从URL隐藏端口.

我已经尝试了很多东西可以解决,但它不适合我.像这样的东西:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^blog(.*) http://localhost:3000/$1 [P,L]
Run Code Online (Sandbox Code Playgroud)

好了,现在这个代码对于主页面是完美的,即:https:// localhost/blog,因为我在htaccess中为它添加了一个规则.但问题是所有链接,图像和包含的文件都在我的博客中被破坏了.

现在我使用基本标记来解决这个问题.但它将我的链接转换为这种格式:

http://localhost:3000/contact
http://localhost:3000/help
http://localhost:3000/post
Run Code Online (Sandbox Code Playgroud)

我认为http:// localhost:3000 /是我页面头中的基本标记.你可以看到3000端口再次出现在我不想显示的网址中.它应该是:

http://localhost/blog/contact
http://localhost/blog/help
http://localhost/blog/post
Run Code Online (Sandbox Code Playgroud)

apache .htaccess mod-rewrite keystonejs

8
推荐指数
1
解决办法
474
查看次数

Express/NodeJS + Mongoose App服务器响应缓慢

问题

我有一个Express(Node.JS)+ MongoDB应用程序,服务器响应加载时间平均为4 - 7秒(慢).

据我所知,根据google pagespeed工具,平均服务器响应时间不到200毫秒.

这个应用程序异步获取mongoDB中的数据,但到数据库的往返时间非常慢,每次调用平均大约500ms - 1s.这些调用是简单的findAll调用,用于检索少于<100条记录的数据.

上下文

  • 猫鼬版:4.13.14
  • DB服务器的MongoDB版本是3.4.16
  • 数据库服务器托管在AWS/Oregon(us-west-1)的MongoDB Atlas M10上
  • Web服务器在SFO1(us-west-1)中使用now.sh托管
  • 按照MongoDB Atlas的绩效顾问的建议,执行了推荐的索引
  • 数据在本地环境(本地服务器+本地数据库)中完全正常,因为数据在几毫秒内被查询
  • 可以在此要点中找到受影响页面的Mongoose日志

Mongo Server配置

  • Mongo Atlas M10
  • 2GB Ram
  • 10 GB存储
  • 100 IOPS
  • 加密
  • 自动扩展存储

尝试的解决方案:

我检查了我的数据库指标,看起来很好.也没有缓慢的查询.这些是简单的findAll查询.mongo atlas的绩效顾问报告没什么异常.

生产应用程序和数据库都托管在同一区域中.

我已经尝试通过运行.lean()来优化查询的应用程序层(mongoose)

题:

我还应该在哪里改进数据库延迟?一个简单的查询怎么能花这么长时间?否则,为什么我的服务器响应时间在预期的大约200毫秒时需要4秒?

mongoose mongodb node.js express keystonejs

8
推荐指数
1
解决办法
762
查看次数

有没有办法隐藏Keystone.js中的ID列?

我在试图隐藏ID列时遇到了麻烦,由Keystone List模板自动生成.有没有办法压制这个列?文档很少涉及框架的基本用法.

node.js express keystonejs

7
推荐指数
1
解决办法
1622
查看次数