我是MongoDB中的新手。一旦启动立即得到错误。 我有一个简单的代码
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/mongotest',
function(err, db) {
console.log('Connected to MongoDB!');
// using the db connection object, save the collection 'testing' to
// a separate variable:
var collection = db.collection('testing');
// isert a new item using the collection's insert function:
collection.insert({
'title': 'Snowcrash'
}, function(err, docs) {
// on successful insertion, log to the screen the new
// collection's details:
console.log(docs.length + ' record inserted.');
console.log(docs[0].title + ' – ' + docs[0]._id);
// finally close the connection:
db.close();
});
});
请帮助我理解这个错误是什么以及如何解决它。如果你不复杂。
MongoDB 3.0.7版
答案 0 :(得分:2)
你应该用这个
替换以前的代码console.log(docs.ops.length + ' record inserted.');
console.log(docs.ops[0].title + ' – ' + docs.ops[0]._id);
答案 1 :(得分:1)
创建连接并插入MongoDB
我使用MongoDB 3.2.0和mongodb node.js驱动程序2.1.14
使用npm
安装Node.js MongoDB驱动程序和BSONnpm install mongodb bson
和INSERT操作看起来像这样
var mongodb = require('mongodb');
var bson = require('bson');
// Create Connection
var server = new mongodb.Server('127.0.0.1', '27017', {});
var client = new mongodb.Db('mydb', server, {w:1});
client.open(function(error){
if(error)
throw error;
// Create MongoDB Collection
client.collection('mongodb_insert', function(error, collection) {
if(error)
throw error;
console.log('Connection!')
// CREATE/INSERT Operation
collection.insert(
{
"key": "value",
"key1": "value1"
},
{safe: true},
function(error, document)
{
if(error)
throw error;
console.log(document);
}
)
})
})
答案 2 :(得分:0)
我使用了模块mongodb 2.0.49
和database mongodb3.0
在插入测试集合之后,docs不是测试集合的文档。
docs是查询的结果。
看起来像
{ result: { ok: 1, n: 1 },
ops: [ { 'it's you query'} ],
insertedCount: 1,
insertedIds: [ 'blah blah blah' ] }
所以,docs不是Array而是json。
这就是为什么docs [0]未定义(“docs不是数组!!!!”)