node.js - 如何从 mongdb find() 中检索键值
问题描述
下面是我的代码,clientNames 是一个字符串数组。
function GetCollectionAllowance(clientNames) {
// Retrieves client names from DB and adds to Array
MongoClient.connect('x', function (err, client) {
if (err) throw err
// DB Name
var db = client.db('client-time')
clientNames.forEach((element) => {
db.collection(element).find( {}, {allowance:1} )
.then(function(allowance) {
console.log(allowance); // Use this to debug
})
})
})
}
这是我收到的错误 -
/home/nolwag/Node/toggl/routes/index.js:229
.then(function(allowance) {
^
TypeError: db.collection(...).find(...).then is not a function
at /home/nolwag/Node/toggl/routes/index.js:229:16
at Array.forEach (<anonymous>)
at /home/nolwag/Node/toggl/routes/index.js:225:25
at /home/nolwag/Node/toggl/node_modules/mongodb/lib/utils.js:532:9
at /home/nolwag/Node/toggl/node_modules/mongodb/lib/mongo_client.js:130:17
at connectCallback (/home/nolwag/Node/toggl/node_modules/mongodb/lib/operations/connect.js:38:9)
at /home/nolwag/Node/toggl/node_modules/mongodb/lib/operations/connect.js:89:9
at /home/nolwag/Node/toggl/node_modules/mongodb/lib/sdam/topology.js:231:25
at /home/nolwag/Node/toggl/node_modules/mongodb/lib/cmap/connection_pool.js:272:25
at handleOperationResult (/home/nolwag/Node/toggl/node_modules/mongodb/lib/sdam/server.js:363:9)
https://docs.mongodb.com/manual/crud/ - 我正在复制文档,似乎只是这个发现不起作用。如果我将 .count() 附加到它的末尾,它会正常返回。
解决方案
添加async
到我的函数的开头解决了这个错误!
async function GetCollectionAllowance(clientNames) {
推荐阅读
- containers - Service Fabric - 在 IIS 上的容器中运行的 .net 4.7.2 应用程序可以访问结构配置设置吗?
- vba - 尝试使用 VBA 更新注册表项。错误:“注册表项中的根无效...”
- sql - 当有两行满足查询时,PostgreSQL 查询仅返回一行
- python - mysql上的表关系以计算新字段
- c++ - C ++为什么这种结构甚至有效?
- sql - 在 SQL Server 2016 上使用 STUFF 和 XML PATH 时如何返回空白或空记录?
- azure-devops - Azure DevOps 管道资源触发器不起作用
- c# - C# Main Form BackColor 在图像前面移动
- javascript - 我只得到第二个 .innerHTML 结果,第一个没有运行
- javascript - 快速路由到搜索结果