1. Error description
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\[email protected]@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\[email protected]@mongodb\lib\utils.js:414:17
)
at executeCallback (F:\nodejs\node_modules\[email protected]@mongodb\lib\utils.
js:406:9)
at err (F:\nodejs\node_modules\[email protected]@mongodb\lib\operations\mongo_c
lient_ops.js:285:5)
at connectCallback (F:\nodejs\node_modules\[email protected]@mongodb\lib\operat
ions\mongo_client_ops.js:240:5)
at process.nextTick (F:\nodejs\node_modules\[email protected]@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\[email protected]@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\[email protected]@mongodb\lib\utils.js:414:17
)
at executeCallback (F:\nodejs\node_modules\[email protected]@mongodb\lib\utils.
js:406:9)
at err (F:\nodejs\node_modules\[email protected]@mongodb\lib\operations\mongo_c
lient_ops.js:285:5)
at connectCallback (F:\nodejs\node_modules\[email protected]@mongodb\lib\operat
ions\mongo_client_ops.js:240:5)
at process.nextTick (F:\nodejs\node_modules\[email protected]@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\[email protected]@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\[email protected]@mongodb\lib\utils.js:414:17
)
at executeCallback (F:\nodejs\node_modules\[email protected]@mongodb\lib\utils.
js:406:9)
at err (F:\nodejs\node_modules\[email protected]@mongodb\lib\operations\mongo_c
lient_ops.js:285:5)
at connectCallback (F:\nodejs\node_modules\[email protected]@mongodb\lib\operat
ions\mongo_client_ops.js:240:5)
at process.nextTick (F:\nodejs\node_modules\[email protected]@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. Cause of error
In use Node.js When you operate mongodb database and want to insert data records into it, you write a JavaScript file and call the collection function. However, the old version of the method and the new version of the method are not this, but db() instead.
3. Solutions
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:'+error);
return;
};
callback(result);
});
}
MongoClient.connect(DB_URL,function(error,db){
console.log('connect success!');
writeData(db,function(result){
console.log(result);
db.close();
});
});
Read More:
- TypeError: res.render is not a function
- Syntax Error: TypeError: this.getOptions is not a function
- Taro Use React Hooks Error: TypeError: Object(…) is not a function
- Webpack packaging error TypeError: this.getOptions is not a function at Object.lessLoader
- Webpack Error: Module build failed: TypeError: this.getOptions is not a function
- [Solved] Milvus Error: [ERROR][SERVER][TakeToEUse milvus.has_collection to verify whether the collection exists
- [Solved] MongoDB Error: TypeError: Object of type ObjectId is not JSON serializable
- this.$el.querySelectorAll is not a function [How to Solve]
- TypeError: ‘WebElement’ object is not iterable error
- MyBatis: Mapped Statements collection does not contain value for xxx
- [Solved] MindSpore Network custom reverse error: TypeError: The params of function ‘bprop’ of
- [Solved] Vue Install less Error: this.getOptions is not a function
- React Hook “useState“ is called in function “xxx“ which is neither a React function component or
- NPM install Error cb.apply is not a function
- [vite] Internal server error:options.devServer.transformWidthEsBuild is not a function…
- Solve the data transfer between vue irrelevant components error: this.$store.commit is not a function
- How to Solve “Error db.num is null” when starting Nacos
- [Solved] error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows,
- Room DB Error: AppDatabase_Impl does not exist [How to Solve]