相关疑难解决方法(0)

使用MongoClient v3.0时,db.collection不是函数

我一直在使用MongoDB在nodeJS上尝试W3schools教程.

当我尝试在nodeJS环境中实现此示例并使用AJAX调用调用该函数时,我收到以下错误:

TypeError: db.collection is not a function
    at c:\Users\user\Desktop\Web Project\WebService.JS:79:14
    at args.push (c:\Users\user\node_modules\mongodb\lib\utils.js:431:72)
    at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:254:5
    at connectCallback (c:\Users\user\node_modules\mongodb\lib\mongo_client.js:933:5)
    at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:794:11
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)
Run Code Online (Sandbox Code Playgroud)

请在下面找到我实现的代码:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mytestingdb";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  db.collection("customers").findOne({}, function(err, result) {
    if (err) throw err;
    console.log(result.name);
    db.close();
  });
});
Run Code Online (Sandbox Code Playgroud)

请注意,只要执行命中,就会发生错误:

db.collection("customers").findOne({}, function(err, result) {}
Run Code Online (Sandbox Code Playgroud)

另外,请注意(如果重要的话)我已经为节点JS安装了最新的MongoDB软件包(npm install mongodb),而MongoDB版本是MongoDB Enterprise 3.4.4,使用MongoDB Node.js驱动程序v3.0.0-rc0.

mongodb node.js

117
推荐指数
9
解决办法
8万
查看次数

不允许用户对 [test.postmessages] 执行操作 [find]

我收到此错误 {"message":"user is not allowed to do action [find] on [test.postmessages]"}

这是我的代码

import PostMessage from "../models/postMessage.js";

export const getPosts = async (req, res) => {
    try {
        const postMessages = await PostMessage.find();

        res.status(200).json(postMessages);
    } catch (error) {
        res.status(404).json({ message: error.message });
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays mongodb mern

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

标签 统计

mongodb ×2

arrays ×1

javascript ×1

mern ×1

node.js ×1