教 程 目 录
MongoDB教程
MongoDB是一个开源文档数据库和领先的NoSQL数据库. MongoDB是用C ++编写的.本教程将帮助您深入了解创建和部署高度可扩展且面向性能的数据库所需的MongoDB概念.
受众
本教程是专为愿意通过简单易用的步骤学习MongoDB数据库的软件专业人士而设计.它将阐明MongoDB概念,在完成本教程后,您将获得中级专业知识,从中可以获得更高水平的专业知识.
先决条件
在继续本教程之前,您应该对数据库,文本编辑器和程序执行等有基本的了解.因为我们要开发高性能数据库,所以如果你有一个理解数据库的基本概念(RDBMS).
本文地址:https://itbaoku.cn/tutorial/mongodb-index.html
相关问答
您可以提供有关在OpenSource和Enterprise MongoDB之间进行选择的建议. 现在的要点是: 内存限制 存储限制 故障转移 可伸缩性 在此要点中,开源和企业MongoDB是否有区别? 您能澄清一个重要的一点 关于许可商业与GNU AGPL v3.0之间的差异.对于mongo? 解决方案 在网站上都解释了. 开源版本在您提到的任何方面都没有人工限制.企业版本的优点是: MongoDB管理服务(备份和监视解决方案) SNMP监视 Kerberos或LDAP作为基于密码或基于证书的身份验证的替代方案 商业开发许可证(您对MongoDB本身进行的更改不受 agpl ).请注意,在通常的设置中,您的客户端与应用程序服务器进行通信,并且您的应用程序服务器与MongoDB通信.在该配置中,AGPL不需要您发布任何源代码,因为最终用户不会直接通过网络与MongoDB进行交互.只有直接将MongoDB暴露于客户时,这才很重要.即使这样,当您更改MongoDB 本身. mongodb bi-connector 添加了有限的(非常非常) 有限)SQL兼容层与MongoDB与基于SQL的商业智能解决方案集成. mongodb Compass - 一种可视化数据结构的GUI工具(但是有免费的替代方案S>.截至2020年4月,Compass
)
一些问题: 如果我在已经被索引的字段上确保indingex会重新索引还是简单地说我已经索引类似的话? 如果该集合在某些开发人员的计算机上还不存在,Mongo会启动索引吗? 我是否需要再次确保索引或一次足够称呼? 什么时候索引"安全"?这一定需要一些时间...在那段时间里,我的DB锁定了? 谢谢! 解决方案 对ensureIndex的多余电话是无op的. 如果不存在ensureIndex中引用的集合,它将被创建. 曾经就足够了. 除非您指定 mongodb 3.0更新 ensureIndex在v3.0中被弃用,现在是 createIndex ,应该使用createIndex.行为保持不变.
)
我遇到了MongoDB关闭的问题.它实际上是在扔一个分段故障,然后关闭.错误日志在下面给出.任何人都可以建议导致错误的原因. Wed May 11 12:50:53 db version v1.6.5, pdfile version 4.5 Wed May 11 12:50:53 git version: 0eb017e9b2828155a67c5612183337b89e12e291 Wed May 11 12:50:53 sys info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_37 Wed May 11 12:50:53 [initandlisten] waiting for connections on port 27017 Wed May 11 12:50:53 [websvr] web admin interface listening on port 28017 Wed May 11 12:51:03 [initandlisten] connection accepted from 127.0.0.1:36745 #1 Wed May 11 12:51:03 [conn1] end co
)
我如何在 mongodb 中做到这一点.... (a || b || c) || (d && e) 解决方案 (a || b || c) ||(d && e) 等价于 (a || b || c || (d && e)) 如果 abcde 是您的字段并且 12345 是值(简单的情况下,您可以将任何内容作为这些表达式): db.foo.find( { $or : [ { a : 1 } , { b : 2 },{ c : 3 },{ d : 4 , e :5} ] } ); 注意这是针对 mongodb >= 1.5.3 的早期版本没有 $or
)
我想为主题实现"颠簸"功能.一旦主题碰撞,它将有一个新的" bump_date"字段.我想对其进行排序,以便当存在" bump_date"字段时,它将像"创建"字段一样对其进行排序.这是我的db.topics的示例: { "text" : "test 1", "created" : "Sun Nov 20 2011 02:03:28 GMT-0800 (PST)" }, { "text" : "test 2", "created" : "Sun Nov 18 2011 02:03:28 GMT-0800 (PST)" }, { "text" : "test 3", "created" : "Sun Nov 17 2011 02:03:28 GMT-0800 (PST)", "bump_date: : "Sun Nov 19 2011 02:03:28 GMT-0800 (PST)" } 我希望以"测试1","测试3","测试2"的顺序返回 解决方案 在mongodb中进行排序是这样的: db.collection.find({ ... spec ... }).sort({ key: 1 }) 其中1正在上升,-1正在下降. 在您的特定示例中:db.topics.find().sort({ b
)
我正在尝试使用$elemMatch在数组中找到对象.我将以下数据导入到名为trails的集合中: { "Copper" : [ {"name" : "Spaulding Bowl", "level" : "Extreme Terain", "location" : "East Side"}, {"name" : "Resolution Bowl", "level" : "Double Black", "location" : "East Side"}, {"name" : "Black Bear Glade", "level" : "Double Black", "location" : "East Side"}, {"name" : "Free Fall Glade", "level" : "Double Black", "location" : "East Side"} ] } 我正在使用 mongodb documentation "> 进行以下查询: db.trails.find( { "Copper": { $elemMatch: { "name" : "Spaulding Bowl" } } } ) 我还尝试在钥匙周围没有报价的情况下制定它: db.trails.find( {
)