MongoDB Java 驱动程序创建数据库和集合

2024-02-14

我正在测试如何创建数据库和集合 mongo java 驱动程序。

  MongoClient client = new MongoClient("localhost",27017);
        DB db = client.getDB("ow");
        DBCollection collection = db.getCollection("documents");
        collection.save(new BasicDBObject("_id",1));
        collection.remove(new BasicDBObject("_id",1));
        boolean result = db.collectionExists("documents");
        assertTrue(result);
        assertNotNull(collection);
        client.close();

我更喜欢在 DB 对象上使用 createCollection 方法,但发现除非插入第一个文档,否则它不会创建数据库/集合。

我的问题是这种理解正确吗?上面的代码创建集合或数据库正确吗?


更喜欢在 DB 对象上使用 createCollection 方法,但发现它不会创建数据库/集合,除非第一个 文档已插入。

MongoDB创建一个集合implicitly当第一个文档保存到集合中时。这createCollection()方法仅显式创建一个集合if选项对象作为参数传递给它。

现在这是有道理的。这options参数可以接受一个或多个参数来决定我们想要创建的集合的特征,例如capped,autoIndexId,size,usePowerOf2Sizes,max no. of documents.

如果我们不指定任何这些选项,则默认行为将优先,即每当第一次插入时使用默认设置延迟创建一个集合。

因此,如果我们想要一个要定义其特征的集合,那么我们可以将这些特征作为DBObject to the createCollections()方法和我们的集合将被创建。下面是如何传递选项的示例。

BasicDBObject options =  new BasicDBObject();
options.put("size", 12121212);
db.createCollection("hello", options);

上面的代码创建集合或数据库正确吗?

是的。它允许mongodb来应用default configuration供您收藏。除非你想设置max,size,autoIndexId,capped,usePowerOf2Sizes您的新收藏的属性,这很好。

Refer: http://docs.mongodb.org/manual/reference/method/db.createCollection/ http://docs.mongodb.org/manual/reference/method/db.createCollection/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB Java 驱动程序创建数据库和集合 的相关文章

  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • MongoDB:与基本查找相比,管道查找性能较慢

    我有两个收藏 matches date 2020 02 15T17 00 00Z players id 5efd9485aba4e3d01942a2ce id 5efd9485aba4e3d01942a2cf and players id
  • 在 Meteor 应用程序中实现 MongoDB 2.4 的全文搜索

    我正在考虑向 Meteor 应用程序添加全文搜索 我知道 MongoDB 现在支持此功能 但我对实现有一些疑问 启用文本搜索功能的最佳方法是什么 textSearchEnabled true 在 Meteor 应用程序中 有没有办法添加索引
  • 使用 Typescript 时的 MongoDB FindOptions

    我正在将 JS 项目转换为 TS 并且在查询集合时遇到 FindOptions 问题 我只想获取集合中所有元素的 ID 这是导致 TS 错误的 TS 代码 import Collection Db Document MongoClient
  • MongoDb 中的全局自增字段

    有没有办法在集合中创建全局自动递增的值 Perforce 有一个变更列表的概念 它可以成为无状态更新的强大功能 我正在考虑相同类型的功能 例子 create gt DocA name foo gt changelist 1 create g
  • 错误:子进程失败,退出,错误号为 51 MongoDB

    重新启动 MongoDB 时出现此错误 我正在使用 Mongo 3 2 4 并在新机器上进行此设置 Starting mongod about to fork child process waiting until server is re
  • MongoDB req.body 问题

    我有一个非常简单的 Mongo 设置 如下所示 这非常适合从输入字段获取数据并保存数据 一切都在工作 我的问题 我将如何循环遍历前端的 jobs 变量并设置数据 以便它适用于我的模型 不知何故 我需要将其输入到输入中 以便我可以 req b
  • 如何配置 StrongLoop LoopBack MongoDB 数据源以部署到 Heroku

    我正在使用 LoopBack 版本 1 6 并使用以下数据源配置运行本地 mongoDB 服务器进行开发 mongodb defaultForType mongodb connector loopback connector mongodb
  • mongodb/node.js 中单文档并发读写操作的问题

    编辑 6 15我尝试运行相同的代码 在调用之前添加延迟 doSafePush 再次收到 ConcurrencyDBError 时 即执行return when resolve wait delay 35 then function doSa
  • 如何在 Mongoose 中定义排序函数

    我正在开发一个小型 NodeJS Web 应用程序 使用 Mongoose 访问我的 MongoDB 数据库 我的收藏的简化架构如下 var MySchema mongoose Schema content type String loca
  • 如何将excel文件(XLSX)导入mongoDB [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一组数据作为输入以 XLSX 格式提供给 MongoDB 我该如何将 Excel 文件作为输入导入
  • 从 mongo shell 查找 mongoDB 上 2 个文档之间的差异

    我正在使用 mongodb 2 4 4 我想比较 2 个文档 然后仅使用 mongo shell 打印它们的差异 有没有办法比较它们 就像是 db collection compare first doc objectID blablalb
  • 将位置数据存储在 Mongodb 文档中

    在我当前的项目中 我将位置数据以以下格式存储在 Mongodb 文档中 location loc lng 118 15592692 lat 34 03566804 geocode city East Los Angeles state CA
  • 在 config.js 中打开 admin 以查看服务器统计信息

    拉动后运行此命令 docker run d p 27017 27017 e MONGO INITDB ROOT USERNAME admin e MONGO INITDB ROOT PASSWORD password name mongod
  • 创建永远不匹配的 mongo 表达式的最佳方法

    我正在寻找的内容在某种程度上相当于在 SQL 中执行的操作 WHERE 1 0 我正在寻找这样的东西 因为我正在构建一个类型安全的 DSL 来在我的域上执行查询 支持连接和析取 有时 添加一个从不匹配任何内容的查询可能比在代码中处理它更容易
  • mongodb 更新所有文档,并将值增加 1 [重复]

    这个问题在这里已经有答案了 我在 mongoDB 中有几个文档 文档结构是这样的 a abc myid 2 我想用 1 更新所有文档的 myid 例如 第一个文档 myid 1 第二个文档 myid 2 依此类推 有询问吗 尝试这个查询 d
  • Mongo $group 和 $project

    我正在尝试获取关键字计数parentId categioryId and llcId 我的数据库是 id ObjectId 5673f5b1e4b0822f6f0a5b89 keyword electronic content manage
  • Mongoose 4.4.12 中 Schema 方法范围内的“this”为空 {}

    当在 Schema 方法内记录到控制台时 对象 this 为 这发生在一天前 我一直在阅读教程和其他堆栈溢出问题 但不幸的是我没有找到原因的解决方案 这是我的模型 var mongoose require mongoose var Sche
  • 清理 MongoDB 的输入

    我正在为 MongoDB 数据库程序编写 REST 接口 并尝试实现搜索功能 我想公开整个 MongoDB 接口 我确实有两个问题 但它们是相关的 所以我将它们放在一篇文章中 使用 Python json 模块解码不受信任的 JSON 是否
  • MongoDB 存储过程等效项

    我有一个包含商店列表的大型 CSV 文件 其中一个字段是邮政编码 我有一个名为 ZipCodes 的独立 MongoDB 数据库 它存储任何给定邮政编码的纬度和经度 在 SQL Server 中 我将执行一个名为 InsertStore 的

随机推荐

  • 如何使该链接在 JQuery UI 自动完成中可单击?未捕获的类型错误

    我正在尝试使用 Jquery UI 自动完成插件 并且我想在建议框中呈现一些 html 并带有可点击的链接 html 似乎呈现正常 但是当我单击链接时 它们不起作用 并且我进入了我的开发人员日志 jquery ui min js 239Un
  • 子例程是否应该始终显式返回?

    If perlcritic http www perlcritic org 说 子项中没有返回值是错误的 如果确实不需要它们 还有什么选择 我养成了两个明显的坏习惯 我显式地将变量分配给 main 命名空间 然后我在 subs 中使用这些变
  • 使用 Swift 组合创建计时器发布器

    我一直在看通过 SwiftUI 的数据流 WWDC 演讲 https developer apple com videos play wwdc2019 226 他们有一张包含示例代码的幻灯片 其中使用连接到 SwiftUI 视图的计时器发布
  • 从 chrome 获取密码

    是否可以在 Chrome 扩展程序中访问保存的密码 我正在查看 API 但没有找到它 我想将所有密码导出到不同的存储中 并且使用扩展似乎是合乎逻辑的方法 但我找不到如何做到这一点 谢谢你的帮助 好的 回答我自己的问题 似乎不可能通过扩展 A
  • 未生成新随机数

    您好 当我运行这段代码并返回错误距离时 不会生成新的随机数 不断生成相同的随机数 从而使我陷入无限循环 有谁知道为什么会发生这种情况 感谢您的关注 private void setRandomVerticies generate 200 t
  • 当前分支未配置为 pull 在配置中未找到 keybranch.master.merge 值

    当我尝试使用 Egit team gt pull 从远程存储库拉取时出现此错误 当前分支未配置为 pull 无值 key 在配置中找到branch master merge 您的本地 master 分支未设置为跟踪远程 master 分支
  • 一对多连接并检索单个结果

    我有两个表 在 PostgreSQL 中 如果重要的话 具有一对多关系 我需要加入它们 以便对于每个 一 我只能从 多 表中获得单个结果 不仅如此 我还需要从 许多 表中挑选出具体的结果 TABLE A ID NAME DATE MORE
  • Android 和 Arduino 都通过蓝牙接收奇怪的值

    我正在 Android 端使用 BluetoothChat 代码使用聊天框向 Arduino UNO 发送开 关信号 我发送 110 119 或下面定义的其他情况 但是当我显示接收到的值时 它显示奇怪的Arduino 串行监视器中的值 即
  • 从Word文档中获取标题

    如何使用VBA获取Word文档中所有标题的列表 你的意思是这样创建大纲 http msdn microsoft com en us library bb960898 aspx函数 实际上将源 Word 文档中的所有标题复制到新的 Word
  • Python pandas 数据框中的每个数字四舍五入 2 位小数

    这有效p table apply pd Series round 但是它没有小数位 文件说 http pandas pydata org pandas docs stable generated pandas Series round ht
  • 如何在 PyQT 小部件中嵌入 Python 解释器

    我希望能够从我的 python 应用程序中调出交互式 python 终端 我的程序中的一些 但不是全部 变量需要暴露给解释器 目前我使用子类和修改后的QPlainTextEdit并将所有 命令 路由到eval or exec 并跟踪字典中的
  • Python 3.5 urllib.request 403 禁止错误

    import urllib request import urllib from bs4 import BeautifulSoup url https www brightscope com ratings page urllib requ
  • Android Studio 不再启动:初始化“[...].FrameworkDetectionIndex”时发生致命错误

    Android Studio 不再启动 上周五一切都很好 我尝试重新安装 AS 并重新启动 我使用的是 Mac OS X Yosemite 这是错误消息 内部错误 请报告至https code google com p android is
  • MySQL中每个派生表必须有自己的别名错误

    我有以下查询 SELECT SUM cost FROM SELECT s cost FROM sandwiches AS s WHERE s name Cheese Steak UNION SELECT p cost FROM pizza
  • 如何使带有cache_path的caches_action过期?

    我正在使用以下内容缓存索引操作 caches action index cache path gt Proc new c c params expire action action gt index expire action 似乎只使索引
  • ADO.NET 实体框架或 ADO.NET

    我正在开始一个新项目ASP NET 和 Windows 服务器 该应用程序预计会非常大并且服务大量客户 高频次拉取和更新 改变数据 我之前创建过项目Linq To Sql 或使用 Ado Net 我对该项目的计划是使用VS2010和新的EF
  • 在 Laravel 8 中使用 Tailwind 安装 Font Awesome

    我尝试使用 Inertia 将 Font Awesome 添加到新安装的 Laravel 8 Jetstream 但收到以下错误 PostCSS 插件出现未知错误 您当前的 PostCSS 版本是 8 2 4 但 postcss impor
  • 让 Wildfly 监听端口 443 而不是 8443

    所以我添加了一个SSL给我的证书wildfly 9它正在工作 但我想配置我的standalone xml听https on port 443 not on port 8443作为默认配置 所以当我更新值时 jboss https port
  • 在 Scala 中将 val 与 Hashtable 一起使用是否可以解决并发问题?

    我尽量避免在代码中使用变量 以便更轻松地进行多线程处理 然而有一行代码开头 val positions Hashtable String String 我想知道 val 是否使事情自动线程安全 或者是否还有我需要担心的更多细节 通过前缀po
  • MongoDB Java 驱动程序创建数据库和集合

    我正在测试如何创建数据库和集合 mongo java 驱动程序 MongoClient client new MongoClient localhost 27017 DB db client getDB ow DBCollection co