Tag: mongodb

如何将parameter passing给Mongo脚本

我一直在使用这样的mongo和脚本文件: $ mongo getSimilar.js 我想传递一个参数给文件: $ mongo getSimilar.js apples 然后在脚本文件中find传入的参数。 var arg = $1; print(arg);

mongoose,select一个特定的领域与查找

我试图只select一个特定的领域 exports.someValue = function(req, res, next) { //query with mongoose var query = dbSchemas.SomeValue.find({}).select('name'); query.exec(function (err, someValue) { if (err) return next(err); res.send(someValue); }); }; 但在我的JSON响应我也收到_id,我的文档架构只有两个字,_id和名称 [{"_id":70672,"name":"SOME VALUE 1"},{"_id":71327,"name":"SOME VALUE 2"}] 为什么???

如何只监听MongoDB上的本地主机

MongoDBbuild议处理安全性的简单方法是在一个可信的环境中运行,因为“在这样的configuration中,必须确保只有受信任的机器才能访问数据库的TCP端口”。 这样做最好的方法是什么? 有没有办法让MongoDB本地只听localhost? 我使用的是Ubuntu 10.10

如何删除Mongo中不推荐使用的字段?

我已经从文档定义中删除了一些字段。 我想删除所有收集文件的这个字段。 我该怎么做?

MongoDB的count()非常慢。 我们如何改进/解决它?

我目前正在使用MongoDB和数百万条数据logging。 我发现了一件非常烦人的事情。 当我用less量的查询数据收集使用“count()”函数时,速度非常快。 但是,当查询的数据集合包含数千甚至数百万条数据logging时,整个系统变得非常缓慢。 我确信我已经索引了必填字段。 有没有人遇到同样的事情? 你怎么做才能改善呢?

mongoose限制/偏移和计数查询

查询性能奇怪的一个位…我需要运行一个查询文件的总数,也可以返回一个可以被限制和抵消的结果集。 所以,我总共有57个文件,用户需要10个文件偏移20个。 我可以想到这样做的两种方式,首先是查询所有57个文档(作为数组返回),然后使用array.slice返回他们想要的文档。 第二个选项是运行2个查询,第一个使用mongo本地“count”方法,然后使用mongo的本地$ limit和$ skip聚合器运行第二个查询。 你认为哪个比例更好? 在一个查询中执行所有操作,或者运行两个单独的查询? 编辑: // 1 query var limit = 10; var offset = 20; Animals.find({}, function (err, animals) { if (err) { return next(err); } res.send({count: animals.length, animals: animals.slice(offset, limit + offset)}); }); // 2 queries Animals.find({}, {limit:10, skip:20} function (err, animals) { if (err) { return next(err); } […]

Mongodb查询select具有给定键的logging

我的数据库中的logging是 {"_id":"1","fn":"sagar","ln":"Varpe"} {"_id":"1","fn":"sag","score":"10"} {"_id":"1","ln":"ln1","score":"10"} {"_id":"1","ln":"ln2"} 我需要devise一个MongoDB查询来查找所有具有给定键的logging。 例如,如果将ln作为parameter passing给查询,则返回ln是关键字的所有logging。 结果将是 {"_id":"1","fn":"sagar","ln":"Varpe"} {"_id":"1","ln":"ln1","score":"10"} {"_id":"1","ln":"ln2"}

在MongoDB查询中传递给$的参数的最大数量是多less?

在MongoDB查询中传递给$的参数的最大数量是多less?

将对象推入Mongoose中的数组模式

我有这个mongoose模式 var mongoose = require('mongoose'); var ContactSchema = module.exports = new mongoose.Schema({ name: { type: String, required: true }, phone: { type: Number, required: true, index: {unique: true} }, messages: [ { title: {type: String, required: true}, msg: {type: String, required: true} }] }, { collection: 'contacts', safe: true }); 并试图通过这样更新模型: Contact.findById(id, function(err, info) { […]

如何从文档中排除一些字段

我有以下简单的shema: var userSchema = new Schema({ name : String, age: Number, _creator: Schema.ObjectId }); var User = mongoose.model('User',userSchema); 我想要做的是创build新的文档,并返回到客户端,但我想从一个排除“创build者”字段: app.post('/example.json', function (req, res) { var user = new User({name: 'John', age: 45, _creator: 'some ObjectId'}); user.save(function (err) { if (err) throw err; res.json(200, {user: user}); // how to exclude the _creator field? }); }); 最后,我想发送没有_creator字段的新创build的用户: […]