Tag: mongodb

Nodejs MongoDB用asynchronous函数更新文档

我是NodeJS和MongoDB的新手。 有没有办法使用nodejs中的asynchronous函数来更新文档? 我有一个网站的文件集合:_id,名称和注册人。 我想使用asynchronous函数在注册器中插入一个值。 该函数是一个系统调用,我只是parsing我想要的输出。 运行代码,asynchronous函数logging我想要但不存储在数据库中的信息。 关于如何解决这个问题的任何build议? 谢谢。 /* * { _id: 53448014b15c693931000002, * name: 'google.com', * registrant: 'defaultval' } */ var MongoClient = require('mongodb').MongoClient; var ObjectID = require('mongodb').ObjectID; var id = '53448014b15c693931000002'; var domain = 'google.com'; MongoClient.connect('mongodb://127.0.0.1:27017/mydb', function(err, db) { if (err) throw err; var collection = db.collection('websites'); collection.findAndModify({_id:new ObjectID(id)}, {}, {$set: {registrant: test(domain, […]

如何通过mongoose在mongodb中设置复合主键

我想通过mongoose在mongodb中为集合中的两个字段设置主键。 我知道在mongodb设置复合主键为 db.yourcollection.ensureIndex( { fieldname1: 1, fieldname2: 1 }, { unique: true } ) 但我正在使用mongoose来处理mongodb我不知道如何从mongoose设置复合主键 更新 我使用了mySchema.index({ ColorScaleID: 1, UserName: 1}, { unique: true }); 看我的代码 var mongoose = require('mongoose') var uristring ='mongodb://localhost/fresh'; var mongoOptions = { db: { safe: true } }; // Connect to Database mongoose.connect(uristring, mongoOptions, function (err, res) { if (err) […]

Mongoose查询来查找多个数组中的匹配元素

我有这样的数据: { name:'string' A: [ { D: [] } ], B:[ { D:[] } ], C:[ { D:[] } ] } 我想通过A , B和C每个数组中的所有D数组search一个匹配。 我做了这个查询,但总是返回一个空的数组,所以我不认为我做对了。 model.find({'name':nameVar, $elemMatch:[ {'A':{'A.D':{$in:[matchVar]}}}, {'B':{'B.D':{$in:[matchVar]}}}, {'C':{'C.D':{$in:[matchVar]}}}]},function(err,data){… 如何返回A , B和C中matchVar在D内的所有元素? 编辑: 看起来这是不可能的? https://groups.google.com/forum/#!topic/mongodb-user/rUHK43Xtp88 但我仍然坚持要一个答案

MongoDB中的$ nin的非严格行为

在MongoDB中是否有非严格的$ nin版本? 例如 假设我们有一个名为User的模型和一个名为Task的Model var TaskSchema = new Schema({ user_array: [{user: Schema.ObjectId}], }); 一个快速的例子就是这个 task1 : [user1, user2, user4, user7] task2 : [user2, user 5, user7] 如果我有一个用户列表 [user1, user7] 我想select在user_array重叠最less的任务,在这种情况下task2,我知道$ nin严格返回任务包含user1或user7,但我想知道是否有操作$ nin是非严格。 另外,我可以为我写一个DPfunction 任何意见,将不胜感激 谢谢

我如何连接到一个不同的node.js进程的meteor.js mongodb实例

我怎样才能连接到不同的node.js过程meteor.js mongodb实例。 我注意到,meteor.js mongodb是不同的然后我当地的mongod实例,我无法find我的数据库中我的meteor应用程序的集合。

MongoError:修饰符不允许使用字段名称重复

注:据我所知,我不是在做stream行的东西。 我有这第一次工作正常,但如果客户端调用这个方法两次,而不刷新页面之间的调用,我会在标题中的错误。 scenarios.findOne({'_id':partialUpdate._id},function(err,back){ if(back){ for(var p in partialUpdate){ if(partialUpdate.hasOwnProperty(p)){ back[p] = partialUpdate[p]; } } back.save(function(err,product,numberAffected){… 什么是刷新页面,停止这种错误发生? 我怎么知道我复制了哪个域名,这样我就可以阻止这个错误? 以下是包含第一组和第二组发送数据( partialData )的服务器输出的副本,它与( back )合并的服务器数据以及保存的数据( product ),以及错误消息 http://pastebin.com/izbkZV1h 第一组发送对象: { sortOrder: 0, title: 'sdfsdf', description: '', contentType: 'false', _id: '534ec5c98c4bf1be305fee1c', __v: 8, groupSharing: [], sharingWith: [], isPublic: false, content: false, attributes: [], metrics: [ { type: 'viewCount', value: […]

未能加载c ++ bson

我是新来的整个Nodejs,MongoDB,mongoose的世界。 我只是试图按照一些教程开始,我一直得到这个“无法加载c + + bson扩展,使用纯JS版本”错误,如果我尝试启动任何脚本与引用mongoose。 我已经尝试了一切,我可以谷歌修复它,没有任何工作,包括: 重新安装构build要领 重新安装mongoDB 将nodejs降级到0.10.22 删除node_modules目录 清理npmcaching 我不知所措 有人可以帮我吗? 我只想回到学习! 我在Ubuntu 13服务器上运行nodejs和MongoDB。 这是我的简单脚本。 var mongoose = require("mongoose"); mongoose.connect('mongodb://localhost/test'); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function () { var UsersSchema = mongoose.Schema({ name: String }); var User = mongoose.model('User', UsersSchema); var user = new User({ name: "SomeName" }) user.save(); […]

ExpressJS在向数据库添加logging后重新查询数据库

我新来expressJS,我想知道什么是最好的方式来重新查询数据库(在我的情况下mongo)以获得所有logging后添加一个。 exports.get = function (db) { return function (req, res) { var collection = db.get('notes'); collection.find({}, {}, function (e, docs) { res.send(docs); }); }; }; exports.create = function (db) { return function (req, res) { var title = req.body.title; var note = req.body.note; var collection = db.get('notes'); // Insert/update the note collection.insert( { "title": title, […]

NodeJS + Mongo如何查找并返回JSON

我使用这个教程来设置我的项目: http : //cwbuecheler.com/web/tutorials/2013/node-express-mongo/ 我成功地可以插入用户到数据库,现在我试图find他们根据他们的ID(电子邮件) db.get('users')。find({email:req.params.id})返回一个Promise并且函数得到“Sucessfully Found User,除了它实际上找不到任何东西?我试图获得这个对象返回它作为一个JSON响应 var mongo = require('mongodb'); var monk = require('monk'); var db = monk('localhost:27017/nodetest1'); router.get('/findUser/:id', function(req, res) { var db = req.db; db.get('users').find({email: req.params.id}, function(err, result) { if (err) { // If it failed, return error res.send("There was an error finding user"); } else { res.send("Successfully Found User"); } […]

mongoosesearch产生神秘的错误

我正在使用Mongoose-Text-Search插件( https://github.com/aheckmann/mongoose-text-search )来search我的mongodb数据库,但是我收到了一个令我困惑的错误消息,我从未见过之前。 error: name=MongoError, ok=0, errmsg=error processing query: ns=testdb.data limit=100 skip=0 Tree: TEXT : query=test, language=, tag=NULL Sort: { $s: { $meta: "textScore" } } Proj: { $s: { $meta: "textScore" } } planner returned error: failed to use text index to satisfy $text query (if text index is compound, are equality predicates given […]