1

我是使用 noSQL 数据库进行数据库查询的新手,并且有一个快速的问题。

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

我需要什么查询才能做到这一点?我知道这将如何用 php 和 mysql 来完成,但是在查看节点教程之后,我开始时更加困惑。

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

多谢你们,

乔尔。

4

2 回答 2

3

您似乎在问一些事情。

如何使用 mongodb 进行查询?

mongoDB 中的查询与 SQL 查询并没有太大的不同。mongoDB 文档有一些很好的例子来说明查询如何在系统中运行。当您向下滚动该页面时,您会发现它实际上与您在 mysql 中所做的并没有太大不同。

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

您可以通过模块(必须)模拟 mongodb 查询来查看调用。确实,mongoose 将查询称为“条件”,但如果您阅读 mongoose 文档,您会发现条件语法与 mongoDB 语法基本相同。

如何存储结果?

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

如何循环遍历数组?

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

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

此外,您可能想查看underscorejs库及其随附的下划线节点模块。underscorejs的eachandmap函数在这种情况下很方便。

于 2013-05-19T13:04:18.967 回答
0

我也来自mysql数据库。我实际上是在使用 mongoose 从 node.js 管理 mongoDB,只需阅读此文档即可轻松学习:http: //mongoosejs.com/docs/index.html

查找功能是您想要的功能。像这样:

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

“结果”将是一个包含所有您想要的文档的数组。

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

于 2013-05-19T11:08:06.253 回答