繁体   English   中英

来自node.js的MongoDB查询(express-coffeescript-mongodb)

[英]MongoDB query from node.js (express-coffeescript-mongodb)

我是没有SQL数据库的数据库查询的新手,并且有一个快速的问题。

基本上我想检索“publishedImage”设置为“true”的所有字段的“名称”。 我想将结果存储在一个数组中,然后使用类似while循环的方法将无序列表中的名称打印到视图文件夹中的.jade模板文件中。

我需要做什么查询呢? 我知道如何用php和mysql来完成这项工作,但在查看节点教程之后,当我开始学习时,我会更加困惑。

如果我能得到一些帮助,我将非常感激!

多谢你们,

乔尔。

你似乎有几件事要问。

如何使用mongodb进行查询?

mongoDB中的查询与SQL查询的差别不大。 mongoDB文档有一些关于查询如何在系统中运行的很好的例子 当你向下滚动那个页面时,你会发现它与你在mysql中所做的完全不同。

每个mongo模块具有用于构造和执行查询的不同语法。 但是,最终,他们都需要执行查询,如我链接的mongo文档中所示。 在查看mongodb语法与模块特定语法相比时,您可以看到这一点。 例如,如果我们想要找到一些东西:

您可以通过模块(必须)查看模拟mongodb查询的调用。 是的,mongoose调用查询“条件”但是如果你读了mongoose文档,你会看到条件语法与mongoDB语法基本相同。

如何存储结果?

这是一个更复杂的问题。 node-mongodb和mongoose都find我列出的函数返回查询结果,并且每个函数都提供了一些处理返回的选项:实际上,我链接到的node-mongodb示例明确地向您展示了如何将.toArray调用链接到.find查询和瞧! 您正在使用查询结果数组。 Mongoose提供了使用回调的选项,因此您可以在接收时处理错误和结果,并使用模型使用的模式格式化结果。 (Mongoose模式和模型是另一个主题,如果您选择使用mongoose模块,则应通过此处的文档和搜索进行详细探讨。)

我如何遍历数组?

这不是一个真正的mongoDB问题,而是一个javascript问题。 让我在StackOverflow上向您指出这两个答案:

  1. 在javascript中循环遍历数组
  2. 循环遍历javascript对象

此外,您可能希望查看underscorejs库以及它随附的下划线节点模块。 在这种情况下,来自下划线的eachmap函数都很方便。

我也来自mysql数据库。 我实际上是使用mongoose来管理来自node.js的mongoDB,只需阅读这篇文档就很容易学习: http ://mongoosejs.com/docs/index.html

find函数是你想要的。 有这样的事情:

MyStuff.find({ publishedImage: true }, function(error,result){
  if(!error){
    // Do stuff with result
  }
});

“result”将是一个包含所有需要文档的数组。

Mongoose有很多选项,但是通过链接中的文档,您可以学习基础知识。 希望它能帮到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM