Questions tagged «mongodb»

MongoDB是一个可扩展的,高性能,开源,面向文档的NoSQL数据库。它支持多种语言和应用程序开发平台。可以在https://dba.stackexchange.com上询问有关服务器管理的问题。

15
如何在Windows上安装mongoDB?
我正在尝试测试mongoDB,看看是否适合我。我下载了32位Windows版本,但不知道如何从现在开始继续。 我通常使用WAMP服务在本地计算机上进行开发。我可以在Wamp上运行mongoDB吗? 但是,使它在Windows上运行的最佳(最简单!)方法是什么? 谢谢!
130 windows  install  mongodb 

1
当案例类包含scala枚举时,如何使用带有Rogue的MongoCaseClassField更新mongo记录
我从升级现有的代码Rogue 1.1.8,以2.0.0和lift-mongodb-record从2.4-M5 to 2.5。 我在编写MongoCaseClassField包含scala枚举的过程中遇到困难,我确实可以使用一些帮助。 例如, object MyEnum extends Enumeration { type MyEnum = Value val A = Value(0) val B = Value(1) } case class MyCaseClass(name: String, value: MyEnum.MyEnum) class MyMongo extends MongoRecord[MyMongo] with StringPk[MyMongo] { def meta = MyMongo class MongoCaseClassFieldWithMyEnum[OwnerType <: net.liftweb.record.Record[OwnerType], CaseType](rec : OwnerType)(implicit mf : …
129 mongodb  class  scala  record  lift 

4
使用pymongo执行正则表达式查询
我正在尝试使用pymongo对mongodb服务器执行正则表达式查询。文件结构如下 { "files": [ "File 1", "File 2", "File 3", "File 4" ], "rootFolder": "/Location/Of/Files" } 我想获取所有与* File模式匹配的文件。我试图这样做 db.collectionName.find({'files':'/^File/'}) 但是我什么也没回来,我想念什么吗,因为根据mongodb docs,这应该是可能的。如果我在mongo控制台中执行查询,则可以正常工作,这是否意味着api不支持它,或者我只是使用不正确?
129 mongodb  pymongo 

5
如何更新一个MongoDB文档的_id?
我想更新_id一个文档的字段。我知道这不是一个很好的实践。但是由于某些技术原因,我需要对其进行更新。如果我尝试更新它,则会得到: > db.clients.update({ _id: ObjectId("123")}, { $set: { _id: ObjectId("456")}}) Performing an update on the path '_id' would modify the immutable field '_id' 并且没有进行更新。我该如何更新?
129 mongodb 

5
如何在mongodb中删除数组元素?
这是数组结构 contact: { phone: [ { number: "+1786543589455", place: "New Jersey", createdAt: "" } { number: "+1986543589455", place: "Houston", createdAt: "" } ] } 在这里,我只知道mongo id(_id)和电话号码(+1786543589455),并且需要从文档中删除整个对应的数组元素。即电话阵列中的零索引元素与电话号码匹配,需要删除相应的阵列元素。 contact: { phone: [ { number: "+1986543589455", place: "Houston", createdAt: "" } ] } 我尝试了以下更新方法 collection.update( { _id: id, 'contact.phone': '+1786543589455' }, { $unset: …
129 mongodb 


16
如何在NodeJs应用程序和模块之间正确重用与Mongodb的连接
我一直在阅读,仍然对在整个NodeJs应用程序中共享同一数据库(MongoDb)连接的最佳方法感到困惑。据我了解,应在应用启动时打开连接,并在模块之间重用。我目前的最佳方法想法是server.js(一切开始的主文件)连接到数据库并创建传递给模块的对象变量。连接后,模块代码将根据需要使用此变量,并且此连接保持打开状态。例如: var MongoClient = require('mongodb').MongoClient; var mongo = {}; // this is passed to modules and code MongoClient.connect("mongodb://localhost:27017/marankings", function(err, db) { if (!err) { console.log("We are connected"); // these tables will be passed to modules as part of mongo object mongo.dbUsers = db.collection("users"); mongo.dbDisciplines = db.collection("disciplines"); console.log("aaa " + users.getAll()); …

6
包括所有现有字段并向文档添加新字段
我想定义一个$ project聚合阶段,在其中可以指示它添加一个新字段并包括所有现有字段,而不必列出所有现有字段。 我的文档如下所示,其中包含许多字段: { obj: { obj_field1: "hi", obj_field2: "hi2" }, field1: "a", field2: "b", ... field26: "z" } 我想进行这样的聚合操作: [ { $project: { custom_field: "$obj.obj_field1", //the next part is that I don't want to do field1: 1, field2: 1, ... field26: 1 } }, ... //group, match, and whatever... …

3
生产代码中的猫鼬索引
根据Mongoose 文档中关于MongooseJS和MongoDB/的内容Node.js: 当您的应用程序启动时,Mongoose会自动调用ensureIndex架构中的每个已定义索引。虽然有利于开发,但建议在生产中禁用此行为,因为创建索引会严重影响性能。通过将autoIndex架构选项设置为false来禁用该行为。 这似乎指示从Mongoose删除自动索引,然后再进行部署以优化Mongoose,这是从指示Mongo在应用程序启动时遍历所有索引开始的,这似乎是有道理的。 在生产代码中处理索引的正确方法是什么?也许外部脚本应该生成索引?或者,ensureIndex如果单个应用程序是集合的唯一读取器/写入器,也许是不必要的,因为每当发生DB写操作时,该应用程序都会继续索引? 编辑:补充,MongoDB中提供了良好的文档对如何做索引,但不为什么还是当明确索引指令应该做的。在我看来,编写应用程序应在具有现有索引的集合上自动使索引保持最新,这ensureIndex实际上是一次性的事情(在应用新索引时完成),在这种情况下,猫鼬autoIndex应该是在正常服务器重启下无操作。

5
单节点项目中的猫鼬和多个数据库
我正在做一个包含子项目的Node.js项目。一个子项目将拥有一个Mongodb数据库,Mongoose将用于包装和查询db。但是问题是 猫鼬不允许在一个猫鼬实例中使用多个数据库,因为模型建立在一个连接上。 要使用多个猫鼬实例,Node.js不允许使用多个模块实例,因为它在中具有缓存系统require()。我知道在Node.js中禁用模块缓存,但是我认为这不是一个好的解决方案,因为它只需要猫鼬。 我尝试使用createConnection()和openSet()猫鼬,但这不是解决方案。 我试图深度复制猫鼬实例(http://blog.imaginea.com/deep-copy-in-javascript/),以将新的猫鼬实例传递给子项目,但是它抛出RangeError: Maximum call stack size exceeded。 我想知道是否存在将多个数据库与猫鼬一起使用或解决此问题的任何解决方法?因为我认为猫鼬非常容易和快速。还是任何其他模块作为建议?

6
猫鼬子文档与嵌套模式
我对在主模式中使用子文档和更深层的优缺点感到好奇: var subDoc = new Schema({ name: String }); var mainDoc = new Schema({ names: [subDoc] }); 要么 var mainDoc = new Schema({ names: [{ name: String }] }); 我目前在各处使用子文档,但是我主要想知道性能或查询我可能遇到的问题。

20
在路径“ _id”中,值XXX的猫鼬错误转换为ObjectId失败了吗?
当向发送请求到/customers/41224d776a326fb40f000001和文档_id 41224d776a326fb40f000001不存在时,docis,null并且我返回404: Controller.prototype.show = function(id, res) { this.model.findById(id, function(err, doc) { if (err) { throw err; } if (!doc) { res.send(404); } return res.send(doc); }); }; 但是,当_id与猫鼬期望的“格式”(我想)不匹配时,例如GET /customers/foo返回一个奇怪的错误: CastError:在路径“ _id”处,对于值“ foo”的转换为ObjectId失败。 那么这是什么错误呢?
122 mongodb  mongoose 


10
编写AngularJs应用程序时Jade或Handlebars有什么用
我是整个javascript全栈应用程序的新手,并且对Angular还是陌生的,所以我希望有人可以在这里为我提供记录。 为什么在使用AngularJS编写客户端应用程序时需要使用Jade或Handlebars之类的模板框架。 我应该说,我也从未使用过任何这些模板框架。因此,我完全不了解这些优势。但是,例如,当我看一下Handlebars时,它会执行许多与Angular中相同的事情,例如循环等。 据我所知,使用适当的HTML在Angular中创建模板,然后对所有客户端进行模板化,然后将其与使用node和mongo的API first方法结合起来,将是最有意义的。 造成这种混乱的原因是,我在GitHub上找到的许多示例都使用了Jade,这对我来说似乎很不直观。 请开导我,让我挺直。我很乐意向比我了解更多的人学习一些最佳实践。 谢谢

8
猫鼬-强制集合名称
我正在尝试使用猫鼬在其中创建数据库和集合。我的代码是: var mongoose = require('mongoose'); var db = mongoose.connect('mongodb://localhost/testdb'); var Schema = mongoose.Schema; var UserInfo = new Schema({ username : String, password : String }); mongoose.model('UserInfo', UserInfo); var user = db.model('UserInfo'); var admin = new user(); admin.username = "sss"; admin.password = "ee"; admin.save(); 当我运行此代码时,猫鼬创建了名为UserInfo的集合,而不是userinfo。如何在猫鼬中强加集合名称?
120 mongodb  mongoose 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.