TypeError: db.collection is not a function

1、错误描述

F:\nodejs>node insertData.js
(node:10028) DeprecationWarning: current URL string parser is deprecated, and wi
ll be removed in a future version. To use the new parser, pass option { useNewUr
lParser: true } to MongoClient.connect.
���ӳɹ���
F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\operations\mongo_client_ops.js
:439
      throw err;
      ^

TypeError: db.collection is not a function
    at writeData (F:\nodejs\insertData.js:5:22)
    at F:\nodejs\insertData.js:19:2
    at result (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\utils.js:414:17
)
    at executeCallback (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\utils.
js:406:9)
    at err (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\operations\mongo_c
lient_ops.js:285:5)
    at connectCallback (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\operat
ions\mongo_client_ops.js:240:5)
    at process.nextTick (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\opera
tions\mongo_client_ops.js:436:7)
    at process._tickCallback (internal/process/next_tick.js:61:11)

F:\nodejs>node insertData.js
(node:4900) DeprecationWarning: current URL string parser is deprecated, and wil
l be removed in a future version. To use the new parser, pass option { useNewUrl
Parser: true } to MongoClient.connect.
���ӳɹ���
F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\operations\mongo_client_ops.js
:439
      throw err;
      ^

TypeError: collection.insert is not a function
    at writeData (F:\nodejs\insertData.js:7:13)
    at F:\nodejs\insertData.js:19:2
    at result (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\utils.js:414:17
)
    at executeCallback (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\utils.
js:406:9)
    at err (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\operations\mongo_c
lient_ops.js:285:5)
    at connectCallback (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\operat
ions\mongo_client_ops.js:240:5)
    at process.nextTick (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\opera
tions\mongo_client_ops.js:436:7)
    at process._tickCallback (internal/process/next_tick.js:61:11)

F:\nodejs>node insertData.js
(node:9572) DeprecationWarning: current URL string parser is deprecated, and wil
l be removed in a future version. To use the new parser, pass option { useNewUrl
Parser: true } to MongoClient.connect.
���ӳɹ���
F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\operations\mongo_client_ops.js
:439
      throw err;
      ^

TypeError: collection.insertOne is not a function
    at writeData (F:\nodejs\insertData.js:7:13)
    at F:\nodejs\insertData.js:19:2
    at result (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\utils.js:414:17
)
    at executeCallback (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\utils.
js:406:9)
    at err (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\operations\mongo_c
lient_ops.js:285:5)
    at connectCallback (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\operat
ions\mongo_client_ops.js:240:5)
    at process.nextTick (F:\nodejs\node_modules\_mongodb@3.1.1@mongodb\lib\opera
tions\mongo_client_ops.js:436:7)
    at process._tickCallback (internal/process/next_tick.js:61:11)

F:\nodejs>node insertData.js
(node:10664) DeprecationWarning: current URL string parser is deprecated, and wi
ll be removed in a future version. To use the new parser, pass option { useNewUr
lParser: true } to MongoClient.connect.
���ӳɹ���
����MongoError: doc parameter must be an object
^C
F:\nodejs>node insertData.js
(node:10308) DeprecationWarning: current URL string parser is deprecated, and wi
ll be removed in a future version. To use the new parser, pass option { useNewUr
lParser: true } to MongoClient.connect.
���ӳɹ���
CommandResult {
  result: { n: 1, ok: 1 },
  connection:
   Connection {
     _events:
      { error: [Function],
        close: [Function],
        timeout: [Function],
        parseError: [Function] },
     _eventsCount: 4,
     _maxListeners: undefined,
     options:
      { host: 'localhost',
        port: 27017,
        size: 5,
        minSize: 0,
        connectionTimeout: 30000,
        socketTimeout: 360000,
        keepAlive: true,
        keepAliveInitialDelay: 300000,
        noDelay: true,
        ssl: false,
        checkServerIdentity: true,
        ca: null,
        crl: null,
        cert: null,
        key: null,
        passPhrase: null,
        rejectUnauthorized: false,
        promoteLongs: true,
        promoteValues: true,
        promoteBuffers: false,
        reconnect: true,
        reconnectInterval: 1000,
        reconnectTries: 30,
        domainsEnabled: false,
        disconnectHandler: [Store],
        cursorFactory: [Function],
        emitError: true,
        monitorCommands: false,
        socketOptions: {},
        promiseLibrary: [Function: Promise],
        clientInfo: [Object],
        read_preference_tags: null,
        readPreference: [ReadPreference],
        dbName: 'student',
        servers: [Array],
        server_options: [Object],
        db_options: [Object],
        rs_options: [Object],
        mongos_options: [Object],
        socketTimeoutMS: 360000,
        connectTimeoutMS: 30000,
        bson: BSON {} },
     id: 0,
     logger: Logger { className: 'Connection' },
     bson: BSON {},
     tag: undefined,
     messageHandler: [Function],
     maxBsonMessageSize: 67108864,
     port: 27017,
     host: 'localhost',
     family: undefined,
     keepAlive: true,
     keepAliveInitialDelay: 300000,
     noDelay: true,
     connectionTimeout: 30000,
     socketTimeout: 360000,
     destroyed: false,
     domainSocket: false,
     singleBufferSerializtion: true,
     serializationFunction: 'toBinUnified',
     ca: null,
     crl: null,
     cert: null,
     key: null,
     passphrase: null,
     ciphers: null,
     ecdhCurve: null,
     ssl: false,
     rejectUnauthorized: false,
     checkServerIdentity: true,
     responseOptions:
      { promoteLongs: true,
        promoteValues: true,
        promoteBuffers: false },
     flushing: false,
     queue: [],
     connection:
      Socket {
        connecting: false,
        _hadError: false,
        _handle: [TCP],
        _parent: null,
        _host: 'localhost',
        _readableState: [ReadableState],
        readable: true,
        _events: [Object],
        _eventsCount: 5,
        _maxListeners: undefined,
        _writableState: [WritableState],
        writable: true,
        allowHalfOpen: false,
        _sockname: null,
        _pendingData: null,
        _pendingEncoding: '',
        server: null,
        _server: null,
        timeout: 360000,
        [Symbol(asyncId)]: 15,
        [Symbol(lastWriteQueueSize)]: 0,
        [Symbol(timeout)]: [Timeout],
        [Symbol(kBytesRead)]: 0,
        [Symbol(kBytesWritten)]: 0 },
     writeStream: null,
     hashedName: '29bafad3b32b11dc7ce934204952515ea5984b3c',
     workItems: [],
     buffer: null,
     sizeOfMessage: 0,
     bytesRead: 0,
     stubBuffer: null },
  message:
   Response {
     parsed: true,
     raw:
      <Buffer 3c 00 00 00 f0 02 00 00 02 00 00 00 01 00 00 00 08 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 01 00 00 00 18 00 00 00 10 6e 00 01 00 00 00 01 6f
 6b ... >,
     data:
      <Buffer 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 18 00
00 00 10 6e 00 01 00 00 00 01 6f 6b 00 00 00 00 00 00 00 f0 3f 00>,
     bson: BSON {},
     opts:
      { promoteLongs: true,
        promoteValues: true,
        promoteBuffers: false },
     length: 60,
     requestId: 752,
     responseTo: 2,
     opCode: 1,
     fromCompressed: undefined,
     responseFlags: 8,
     cursorId: Long { _bsontype: 'Long', low_: 0, high_: 0 },
     startingFrom: 0,
     numberReturned: 1,
     documents: [ [Object] ],
     cursorNotFound: false,
     queryFailure: false,
     shardConfigStale: false,
     awaitCapable: true,
     promoteLongs: true,
     promoteValues: true,
     promoteBuffers: false,
     index: 44,
     hashedName: '29bafad3b32b11dc7ce934204952515ea5984b3c' },
  ops:
   [ { name: 'zhangsan', age: '30', _id: 5b70f4bea602b02844490a15 } ],
  insertedCount: 1,
  insertedId: 5b70f4bea602b02844490a15 }

F:\nodejs>

2、错误原因

      在使用Node.js操作MongoDB数据库,想向里面插入数据记录,写了一个JavaScript文件,调用了collection函数,但是这个旧版本的方法,新版本的方法不是这个,换成db()。

3、解决办法

var MongoClient = require('mongodb').MongoClient;
var DB_URL = 'mongodb://localhost:27017/student';

var writeData = function(db,callback){
	var dbo = db.db('t_sales');
	var data = {'name':'zhangsan','age':'30'};
	dbo.collection('t_sales').insertOne(data,function(error,result){
		if(error){
			console.log('错误:'+error);
			return;
		};

		callback(result);
	});
}

MongoClient.connect(DB_URL,function(error,db){
	console.log('连接成功!');
	writeData(db,function(result){
		console.log(result);
		db.close();
	});
});

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值