我是使用 noSQL 数据库进行数据库查询的新手,并且有一个快速的问题。
本质上,我想检索“publishedImage”设置为“true”的所有字段的“名称”。我想将结果存储在一个数组中,然后使用类似 while 循环的方法将无序列表中的名称打印到视图文件夹中的 .jade 模板文件中。
我需要什么查询才能做到这一点?我知道这将如何用 php 和 mysql 来完成,但是在查看节点教程之后,我开始时更加困惑。
如果我能得到一些帮助,我将非常感激!
多谢你们,
乔尔。
我是使用 noSQL 数据库进行数据库查询的新手,并且有一个快速的问题。
本质上,我想检索“publishedImage”设置为“true”的所有字段的“名称”。我想将结果存储在一个数组中,然后使用类似 while 循环的方法将无序列表中的名称打印到视图文件夹中的 .jade 模板文件中。
我需要什么查询才能做到这一点?我知道这将如何用 php 和 mysql 来完成,但是在查看节点教程之后,我开始时更加困惑。
如果我能得到一些帮助,我将非常感激!
多谢你们,
乔尔。
您似乎在问一些事情。
如何使用 mongodb 进行查询?
mongoDB 中的查询与 SQL 查询并没有太大的不同。mongoDB 文档有一些很好的例子来说明查询如何在系统中运行。当您向下滚动该页面时,您会发现它实际上与您在 mysql 中所做的并没有太大不同。
每个 mongo 模块都有不同的语法来构造和执行查询。但是,最终,他们都需要执行查询,如我链接的 mongo 文档中所示。当您将 mongodb 语法与特定于模块的语法进行比较时,您可以看到这一点。例如,如果我们想找到一些东西:
db.collection.find( <query>, <projection> )
collection.find(query, [options])
Model.find(conditions, [fields], [options], [callback])
您可以通过模块(必须)模拟 mongodb 查询来查看调用。确实,mongoose 将查询称为“条件”,但如果您阅读 mongoose 文档,您会发现条件语法与 mongoDB 语法基本相同。
如何存储结果?
这是一个更复杂的问题。我列出的 node-mongodb 和 mongoosefind
函数都返回查询结果,每个函数都提供了一些处理返回的选项:事实上,我链接到的 node-mongodb 示例明确向您展示了如何链接.toArray
对查询的调用.find
,瞧!您正在使用查询结果数组。Mongoose 提供了使用回调的选项,因此您可以在收到错误和结果时处理错误和结果,结果使用模型使用的模式进行格式化。(Mongoose 模式和模型是另一个主题,如果您选择使用 mongoose 模块,您应该在此处通过文档和搜索详细探索。)
如何循环遍历数组?
这不是一个真正的 mongoDB 问题,而是一个 javascript 问题。让我在 StackOverflow 上指出这两个答案:
此外,您可能想查看underscorejs库及其随附的下划线节点模块。underscorejs的each
andmap
函数在这种情况下很方便。
我也来自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 有很多选择,但是通过链接中的文档,您可以学习基础知识。希望它可以帮助你。