var MongoClient = require('mongodb').MongoClient;

var url = 'mongodb://localhost:27017/';

MongoClient.connect(url, {useNewUrlParser: true}, function(err, db){

  if(err) throw err;

  var dbo = db.db('mydb');

  var myObj = [{name: 'Company Inc', address: 'Highway 37'}];
  dbo.createCollection('Customers').insertone(myObj, function(err, res){

    if(err) throw err;
    console.log('1 document inserted!');
    db.close();
  });
});


我的代码不起作用,错误是insertOne不是函数。我的mongoDB shell版本是3.4.18,安装的npm mongodb模块是3.1.10。

最佳答案

尝试在不创建集合的情况下插入记录,因为insertOne将自动创建集合(如果不存在)。

var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/';
MongoClient.connect(url, {useNewUrlParser: true}, function(err, db){
  if(err) throw err;
  var dbo = db.db('mydb');
  var myObj = [{name: 'Company Inc', address: 'Highway 37'}];
  var collection = db.collection('Customers');
  collection.insertOne(myObj, function(err, res){
    if(err) throw err;
    console.log('1 document inserted!');
    db.close();
  });
});


https://docs.mongodb.com/manual/reference/method/db.collection.insertOne/

关于node.js - 如何解决insertOne不是功能问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54000480/

10-10 15:22