问题标签 [mongo-collection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 如何使用 python 从 MongoDB 中的 2 个集合中查找数据
我需要在 Python 中从 MongoDB 读取 2 个集合数据,有没有办法在 python 中加入数据?
mongodb - Mongo db.stats 显示集合存在,但显示集合返回空
我在服务器:27017 上运行了一个 mongodb。
从另一台机器上,我安装了 mongo-client 并连接到在服务器上运行的 mongodb。
我在 mongo 中有三个 db:admin、local 和 template(这些是由脚本为我创建的)。
当我做:
我得到:
但是,如果我这样做
或者
我什么都得不到。
这是什么意思?为什么有一个带有索引和对象的数据库,但没有集合,为什么模板数据库中的集合计数> 0,但显示集合没有返回?
phalcon - Phalcon mongodb 无法更新
我无法使用 Incubator 3.3 中的 Phalcon MongoCollection 更新文档我在 save() 后没有收到任何错误,但数据没有更新。
我的代码是:
我也试过孵化器 3.4 和 3.2
java - 无法删除 MongoDB 集合中的所有记录
编辑重复
我知道其他问题中解释的方式有效,但我问的是不同的东西,这就是为什么我使用的方法在应该的时候不起作用
在这个问题之后,我尝试通过这样做来删除我的集合中的所有文档:
问题是它给了我方法错误并告诉我
同样在当前版本的文档中,方法是相同的。怎么了?我知道我可以使用一些“替代方法”,比如指定一个空文档,但我想知道我在使用这种方法时哪里错了。
编辑
我也试过这个,正如已经说过的:
但不工作。
我知道我可以使用BasicDBObject document = new BasicDBObject();
它并将其传递给实际上是我现在正在做的事情并且它可以工作,而且 DBCursors 也是一种替代方法,我只是问为什么上述方法在它应该工作时不起作用(deleteMany
或collection.deleteMany(document);
也许这一切都错了,在这一点上根本不应该?)。
node.js - 仅当新的 providerId 不存在时才更新 MongoDB 字段值
我在 MongoDB 中有以下文档。
我不确定如何在 providers 数组中检查新的 providerId,如果不存在,则使用单个查询操作进行更新。所以首先我需要检查一个特定的 providerId 是否存在,如果不存在则更新 providers 字段,否则忽略它。
我该如何实施?
mongodb - MongoCollection.find() 搜索两次?
我正在使用如下所示的代码:
由于collection.find() 在这里被调用了两次,那是在数据库上执行2 次搜索还是因为它返回一个FindIterable,它只是一个光标???
我们仅限于限制数据库操作并避免尽可能多的操作,因为我们按请求单位付费
mongoose - MongoError:不支持聚合阶段:'$changeStream'
我们有一个文档数据库的分片集群,托管在 AWS 上并使用 mongo db 版本 3.6,我们希望在 node.js 代码中实现一个 collection.watch() 函数来获取更改流,只要集合中有更改。当我连接在副本模式下运行的本地主机 mongodb 服务器时,它工作正常,我正在节点 js(客户端)中获取更改流,但是当我尝试连接到 AWS 上托管的文档 db 分片集群时,我得到了错误MongoError:不支持聚合阶段:'$changeStream'
我以复制模式连接了在 localhost 端口(27001 和 27002)上运行的本地 mongo db 服务器,它工作正常,但是在连接到 AWS 托管的文档数据库集群时,它给出了如上所述的错误。
这是我用来连接到文档数据库集群的代码。
建立连接后,我使用下面的代码来实现 watch 函数来查找 changeStream。
我在下面的行中遇到的确切错误
错误是“MongoError:不支持聚合阶段:'$changeStream'”
确切的错误堆栈跟踪:
我的问题在这里,有人见过这种错误吗?错误的可能根本原因应该是什么?我可以在 mongodb 集群端验证一些东西,这可以帮助纠正这个错误。我期望 changeStream 打印在 console.log(change) 中,而不是打印它会抛出这个错误。
任何帮助将不胜感激。
谢谢!
java - 如何在没有 Java 中的 NumberLong 或 Date Wrapper 的情况下从 Mongodb 接收日期
目前,我正在开发一个我从/向客户Java/Spring App
保存和提供的地方。JSON
我以毫秒为单位将我的日期信息存储为 Unix 时间戳。现在 MongoDB 自动将其存储为
当我插入
我还读到,当我使用该格式时,会发生这种情况$Date
而不是 $numberLong 。iso8601
是否可以在我的查询结果中没有此包装信息的情况下从 MongoDB 读取时间信息?
处理/删除接收普通时间戳信息的信息对我来说似乎很不舒服。
编辑:当我使用 document.toJSON (我知道它已被弃用)时,我得到
当我使用 document.toString() 我得到 TimeStamp=Document{StartTime=1549554150000}
java - 更新元数据后发现不适用于 GridFS
我在我的应用程序中添加了一个步骤以通过 GridFS 持久化文件,并添加了一个名为“已处理”的元数据字段作为计划任务的标志,该任务检索新文件并将其发送以进行处理。由于 GridFS 的 Java 驱动程序没有允许更新元数据的方法,因此我使用 MongoCollection 将“fs.files”集合更新为“metadata.processing”为真。
我使用 GridFSBucket.find(eq("metadata.processed", false) 获取新文件进行处理,然后在处理完成后将 metadata.processed 更新为 true。如果我在应用程序运行时添加新文件,这将有效。但是,如果我有一个将“metadata.processed”设置为 false 的现有文件并启动应用程序,上面的 find 调用不会返回任何结果。同样,如果我有一个已经处理过的文件并且我设置了“metadata.processed”字段回到 false,上面的 find 调用也停止工作。
知道我能做些什么来确保:
返回现有文件和/或已更改元数据的文件的正确结果?