nodejs操作mongodb报错

0 0 node.js
Python//孤狼
Python//孤狼

声望值:134 0人

2019-01-25 17:06:44 提问

关注 0关注

收藏 0收藏, 9浏览

用nodejs操作mongodb时,连接数据库正常,但是到了连接collection的部分就报错。

var MongoClient=require('mongodb').MongoClient;
const DB_CONN_STR='mongodb://127.0.0.1:27017/tb_db';

MongoClient.connect(DB_CONN_STR,function(err,db){
  if(err){
    
  }
  var col=db.collection('col')
  col.findOne()
  db.close();
})

错误提示为:TypeError:db.collection is not a function...
写的跟官方文档例子一样为什么报出这个错误,而且菜鸟教程上也是这个写法。有点弄不懂了(ps:用python读写数据成功的)

请先 登录 后评论

2个回答

  • aゞ特仑苏97声望 2018-09-25 09:28

    我是你这样的写法,用node运行没有报错,不太清楚你是什么原因,下面是我写的查询代码,没有问题,你参考一下: var MongoClient=require('mongodb').MongoClient; const DB_CONN_STR='mongodb://127.0.0.1:27017/dataSummary'; MongoClient.connect(DB_CONN_STR,function(err,db){ if(err){ console.log(err); }else{ var col=db.collection('users'); col.findOne({'user':'admin'},function(err,result){ console.log(result); }) db.close(); } }) ps:python操作mongo用的是pymongo,代码如下(python3): ''' python连接mongodb ''' # coding=utf-8 from pymongo import MongoClient # 建立MongoDB数据库连接 client = MongoClient('localhost', 27017) # 连接所需数据库,test为数据库名 db = client.test1 # 连接所用集合,也就是我们通常所说的表,test为表名 collection = db.users # 接下里就可以用collection来完成对数据库表的一些操作 # 向集合中插入数据 collection.insert({'name': '111.JPG', 'parent': 'test1', 'isdir': False, 'subdir': []}) # 查找集合中所有数据 for item in collection.find(): print(item) # 查找集合中单条数据 print(collection.find_one())
    请先 登录 后评论
  • java_大星星133声望 2018-09-25 09:28

    已解决,node mongodb版本问题,换了一个低版本就没问题了。
    请先 登录 后评论

注册新账号

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问