Tag: mongodb

在node.js中查找对MongoDB的查询

我有以下查询的oids是对象id的数组。 users.find({ _id: { $in: oids } }, function(err, result){ console.log(result); }); 我期望用户的id列表中的用户ID在对象ID的数组中,但实际结果如下所示: { db: { databaseName: 'users', serverConfig: { _callBackStore: [Object], host: 'localhost', port: 27017, options: [Object], internalMaster: true, connected: true, poolSize: 5, disableDriverBSONSizeCheck: false, slaveOk: undefined, _used: true, replicasetInstance: null, ssl: false, sslValidate: false, sslCA: null, sslCert: undefined, sslKey: undefined, sslPass: undefined, _readPreference: […]

Mongojscallback没有返回

我使用mongojs来更新mongodb集合中的数据。 程序逐行读取一个文件,并在mongodb数据库中对每一行进行更新。 更新工作正常,但控制不会返回。 var fs = require('fs') var reader = require('buffered-reader'); var dataReader = reader.DataReader; var mongojs = require('mongojs') var db = mongojs.connect('testdb'); var col = db.collection('testCollection'); var file = "sample.txt"; var loadData = function (line) { record = line.split(","); rec_key = record[1]; col.update( {rec_key: rec_key}, {rec_key: rec_key, data: 5678}, {upsert:true}, function(err){}); } new dataReader […]

Mongodb查询说“只有这个领域”,而不是必须一个接一个地拒绝每个领域?

当你在Mongodb中限制你的查询时,有没有办法说“我只想要这个键”? 或者您必须始终使用{key_one:0}主动拒绝字段 例如。 我只想用我的db.tonight.find()来取得key_four的值。 json结构 { key_one : "some string", key_two: "some string", key_three : "some string", key_four: "some string", key_five: "some string", key_six: "some string" } 如何简化这个? 查询: db.tonight.find({},{_id:0,key_six:0,key_five:0,key_three:0,key_two:0,key_one:0})

相当于Node.js中的mongo shell db.collection.runCommand()

我想在MongoDB 2.4中使用全文search。 文本search可通过runCommand函数获得,例如db.collection.runCommand( "text", { search: "keywords"}) 。 所以,我想知道在mongojs或者node-mongodb-native模块中是否有相当于runCommand()函数。 我知道这个问题以前曾经触及过,但从来没有得到足够的回答。 提前致谢。

如何在请求之间持久化一个MongoDB游标?

在一个Web服务器的比赛中: 为了避免重新查询(使用find ),可以尝试在请求之间保持由find返回的游标引用。 Cursor对象是一个复杂的对象,例如存储套接字连接。 如何存储这样的对象,以避免重新查询后续的Web请求? 我在Node.js工作,但任何build议是有帮助的(不pipe语言:rails,C#,Java,PHP)。 (我正在使用持久性会话)

存储用户的个人资料详情

我期待存储在我的应用程序的用户的configuration文件的详细信息,如他们的出生date,国家,名字,姓氏,他们join的date,他们的profile_pic的位置等。我在Expressjs应用程序中使用mongoose。 我也将存储用户名和散列的密码,如果他们已经从他们的电子邮件地址激活。 我有几个问题,我感到困惑,不知道该怎么办? 我应该存储所有的用户在一个mongoose模型,并有一个激活的列,如果用户已经从它的电子邮件链接激活或者我应该有两个不同的表,并且一旦用户已经激活,我把他从非激活表移动到激活表。 第二件事是想知道我应该存储configuration文件的细节作为列在相同的模型或创build另一个模型的configuration文件的细节使用人口。 我在想,因为这些细节有什么我需要查询。 他们基本上只是读写而已。 我不查询使用这些参数。 所以我想,让他们在不同的模式会稍微好一些,因为我会一直只查询用户名或密码。 我认为可能的另一个select是在子文档中使用它们。 我也将存储我的应用程序的用户喜好,我有上面相同的概率。 请帮我select什么样的select。 我已经做了很多的阅读,但不知道截至目前。 请帮助我标准的事情做什么,什么会更好 谢谢

mongodb只更新特定的子元素

我的数据库结构如下所示: { "_id" : ObjectId("51e66873f6a6600436000001") ,"email" : "asd@asd.de", ,"attribute_group_a" : { "attribute_a" : "" ,"attribute_b" : "" ,"attribute_c" : "" ,"attribute_d" : "" }, ,"attribute_group_b" : { "attribute_subgroup_b_a" : { "attribute_a" : "" ,"attribute_b" : "" ,"attribute_c" : "" ,"attribute_d" : "" } ,"attribute_subgroup_b_b" : { "attribute_a" : "" ,"attribute_b" : "" ,"attribute_c" : "" […]

如何将返回值推入数组mongodb?

我得到正确的数据为friendRequests获取用户ID并将其引入我的mongoose文件的friendRequest字段中。 当我添加$ push将数据添加到路由文件中的friendRequest数组中时,它实际上不会插入它,并将我创build的err函数返回给我。 这是我的路线文件: exports.addContactPost = function(req, res, err) { User.findByIdAndUpdate(req.signedCookies.userid, { $push: {friendRequest: req.body.friendRequest} }, function(err) { if(err) { console.log("post2"); return console.log('error'); } else { console.log('postsuccess'); res.json({response: true}); } }); }; 这里是mongoose文件: var mongoose = require('mongoose'), Schema = mongoose.Schema, bcrypt = require('bcrypt-nodejs'), SALT_WORK_FACTOR = 10; var UserSchema = new Schema({ email: { type: String, […]

MongoDB:$根据variables的内容推入数组

我试图$push项目到MongoDBbuild立在Node上的logging(使用MongoJS ),如下所示: exports.saveToUser = function (req, res) { console.log("IN"); var user = req.params.user; var param = req.params.param; // equals "foo" var value = req.params.value; // equals "bar" console.log("Saving Data to User"); console.log(util.inspect(param, false, null)); db.users.update({"_id": ObjectId(user)}, {$push: {param:value}}, function (err, record) { if (err) { console.log("Lookup Error: " + err); } else{ console.log("Updated " + […]

忽略所有的字段(键)到Mongo中查找

从文档 find()定义如下: db.collection.find(query, projection) projection是指定要使用投影操作符返回的字段的对象。 要返回匹配文档中的所有字段,请省略此参数。 我的问题是,如果有什么方法可以忽略使用projection对象的所有字段 。 我想收到这样的回复: [{}, {}, {}, {}] (具有空对象的数组) 要忽略我使用的密钥: {"key": 0} 。 我已经尝试了{"$all": 0} ,这似乎不起作用。 我怎样才能忽略所有的领域? 我知道我可以使用count()函数,但在这种情况下这并不能帮助我。