Articles of mongojs

如何通过节点中的mongojs将.json文档插入到mongo服务器

我是新的nodeJS和MongoDB。 我有这个代码: var fs = require('fs'); var mongojs = require('mongojs'); var db = mongojs('monitor', ["configurations"]); fs.readFile('json/object1.json', 'utf8', function (err, data) { if (err) throw err; console.log(data); db.configurations.insert(data, function(err, doc) { console.log(data); if(err) throw err; }); }); 没有任何数据蒙了,我没有错误。 这两个console.log(数据)也打印JSONstring。

node.js mongojs findOnecallback返回错误为null

目前被这个错误推到了墙上。 我正在用mongodj的mongojs包装器运行node.js应用程序。 我在默认端口上启动了mongod,然后运行 var db = require('mongojs').connect('localhost:27017/my_db'); var users = db.collection('users'); users.findOne({'fb_id' : fbUserMetadata.id}, function(err, user) { console.log(err); console.log(user); debugger; }); 然而,错误和用户都是'空'。 据我所知,即使找不到任何东西,err也应该填充一些数据。 如何使callback函数正常工作? 请原谅这个新手问题。

TypeError:无法读取未定义的属性“_id”

你好,Node + mongodb的大师, 我得到错误“types错误:无法读取属性未定义的_id”在一个简单的发布请求将文档保存到coolection书,我的有效载荷看起来像这样 { "name": "practical view", "author": "DN", "location": "room 50" } 而我只是在我的路线中快递db.books.save()。 由于我没有通过身份证,这应该是理想的工作,但不是在这种情况下。 以下是我在节点服务器上得到的完整错误转储: C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\mongodb\lib\mongodb\mongo_client.js:411 throw err ^ TypeError: Cannot read property '_id' of undefined at Collection.save (C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\mongodb\lib\mongodb\collection.js:393:15) at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\index.js:203:65 at apply (C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\thunky\index.js:16:28) at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\thunky\index.js:20:25 at Db.collection (C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\mongodb\lib\mongodb\db.js:488:44) at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\index.js:268:7 at apply (C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\thunky\index.js:16:28) at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\thunky\index.js:20:25 at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\index.js:300:4 at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\mongodb\lib\mongodb\mongo_client.js:408:11 31 Aug 00:14:30 […]

使用express将MongoDB查询结果作为JSON发送

我正在写一个应用程序,我使用express,Node.js和MongoDB(使用mongojs)。 我有一个模块db.js和一个server.js ,下面有代码片断。 db.js var getUsersByCity = function(city, callback) { db.users.find({'city': city}).toArray(function(err, data) { if (err) { callback(err); console.log(err); } else { console.log(data); callback.json(data); } }); } server.js app.post("/get_users_list", function(req, res) { var body = req.body; db.getUsersByCity(body.city, res); }); 这是工作,因为,你可以看到,我(可能不正确)使用callback.json(data) ,当我应该使用callback(data) 。 我认为db.js模块不应该负责发送响应,我应该通过res.json作为我的函数的callback。 问题是:当我按照我认为正确的方式做事情时,我面临着以下错误: path_to_my_app/node_modules/mongojs/node_modules/mongodb/lib/mongodb/connection/base.js:245 throw message; ^ TypeError: Cannot call method 'get' of undefined […]

MongoDb:如何将其他对象插入对象集合?

我有一个文件“所有者”,可以有“n”个营地,营地有“导师”,导师有“class级”。 早些时候我尝试用嵌套数组完成这个任务(请参阅下面的链接),但是我知道位置运算符“$”不能嵌套那么深。 MongoDB:将数组添加到现有的数组中 但是,我了解到解决方法是使用对象集合而不是数组。 我假设我必须使用“$ set”的“更新”来添加额外的“阵营”,但是我每次做的都是覆盖(更新)先前插入的阵营。 下面是我试图完成的层次结构: owner = { firstName: 'john', lastName: 'smith', ownerEmail: 'john.smith@gmail.com', camps : { { name: 'cubs-killeen', location: 'killeen' }, { name: 'cubs-temple', location: 'temple' }, instructors : { { firstName: 'joe', lastName : 'black' }, { firstName: 'will', lastName : 'smith' } } } } 我也一直在尝试以下几点: db.owners.update({ownerEmail:'john.smith@gmail.com'}, {$set: { […]

callback已被称为asynchronous并行

您好我正在尝试使用asynchronous模块来检索两个用户,并做了一些处理后,他们都被检索,但我不断收到错误消息:callback已被调用。 以下是我目前的代码: app.get('/api/addfriend/:id/:email', function(req, res) { var id = req.params.id; var friendEmail = req.params.email; async.parallel([ //get account function(callback) { accountsDB.find({ '_id': ObjectId(id) }, function(err, account) { console.log(id); if (err || account.length === 0) { callback(err); } console.log(account[0]); callback(null, account[0]); }); }, //get friend function(callback) { accountsDB.find({ 'email': friendEmail }, function(err, friend) { console.log(friendEmail); if (err […]

在mongodb中插入当前的date时间

我一直有麻烦插入一个实际的date时间对象在mongodb使用mongojs驱动程序nodejs。 任何帮助? var currentdate = new Date(); var datetime = currentdate.getDate() + "/" + (currentdate.getMonth()+1) + "/" + currentdate.getFullYear() + " @ " + currentdate.getHours() + ":" + currentdate.getMinutes() + ":" + currentdate.getSeconds(); db.test.update({ conversation: conv },{ $push:{ messages: { message: message, pseudo: name, current_date: datetime }} },{upsert: true});

通过datetime领域获取最新的MongoDBlogging

我有这样一个集合: { 'datetime': some-date, 'lat': '32.00', 'lon': '74.00' }, { 'datetime': some-date, 'lat': '32.00', 'lon': '74.00' } 如何从MongoDB中获取最新的date时间? 我只想要一个logging。