162得票10回答
使用Mongoose从MongoDB文档中删除一个键

我将使用Mongoose库来访问MongoDB与node.js相关的内容。 是否有一种方法可以从文档中删除一个键?即不仅将值设置为null,而是将其删除? User.findOne({}, function(err, user){ //correctly sets the key to...

155得票5回答
使用git仓库作为数据库后端

我正在进行一个有关结构化文档数据库的项目。我有一个类别树(大约1000个类别,每个级别最多有50个类别),每个类别包含数千个结构化文档(例如,最多达到10000个)。每个文档都是一些结构化形式的几千字节数据(我更喜欢YAML格式,但也可以是JSON或XML格式)。 系统用户会执行以下几种操作...

80得票6回答
文档数据库与关系型数据库的优缺点比较

我一直在尝试看看能否使用基于文档的数据库(在本例中为CouchDB)来满足一些需求。这里有两个通用的要求: 对具有某些字段的实体进行CRUD操作,其中该字段具有唯一索引 类似于eBay的电子商务Web应用程序(更好的描述请参见此处)。 我开始认为,基于文档的数据库不是最好的选择来解决这...

66得票3回答
如何在MongoDB中组织多对多关系

我有两个表/集合:Users和Groups。一个用户可以是任意数量的组的成员,也可以是任意数量的组的所有者。在关系型数据库中,我可能会有第三个名为UserGroups的表,其中包括一个UserID列、一个GroupID列和一个IsOwner列。 我正在使用MongoDB,我相信在文档数据库中...

65得票5回答
在MongoDB中,存储null值与根本不存储该键有何区别?

我认为,当你创建一个Mongo文档并且有一个字段{key: value}可能有时不会有值时,你有两个选项: 写入{key: null},即在该字段中写入null值 根本不在该文档中存储键 这两个选项都很容易查询。对于第一个选项,您可以查询{key : null},而对于另一个选项,则可...

45得票4回答
选择MongoDb/CouchDb/RavenDb - 性能和可伸缩性建议

我们正在寻找一种文档型数据库存储解决方案,并希望其具有故障转移集群功能,以用于某些读写密集型应用。 我们将有平均每秒40K个并发写入到数据库中(峰值可达70000),并可能有大致相同数量的读取操作。 我们还需要一种机制,使数据库能够通知有关新写入记录的信息(在数据库层面上某种触发器)。 ...

37得票3回答
文档数据库:冗余数据、引用等(特别是MongoDB)

似乎我经常遇到需要将数据拆分为两个文档的情况。 假设这是一家连锁店,您要保存每个顾客访问的哪些商店。 商店和顾客需要独立的数据因为它们与许多其他事物进行交互,但我们确实需要将它们联系起来。 因此,简单的答案是在商店文档中存储用户ID,在用户文档中存储商店ID。 但通常情况下,您想要访问1-2...

30得票4回答
关于文档数据库,我是否有所遗漏?

我一直在关注NoSql运动的兴起以及像mongodb、ravendb等文档数据库的流行。虽然我喜欢这些东西的很多方面,但我感觉我还没有理解重要的东西。 比如说你正在实现一个商店应用程序,并且你想要将产品存储在数据库中,所有产品都有一个单独且唯一的类别。在关系型数据库中,这可以通过两个表来完成...

26得票6回答
使用存储库模式和文档数据库是否有意义?

我目前在尝试使用MongoDB。我正在从NHibernate/SQL的思维模式中转变,最初采用了仓储库模式进行数据访问。 一切看起来都不错,直到我开始使用嵌套文档。现在似乎有点不匹配了。然而,我对仓储库感到舒适,并喜欢它们提供的抽象、关注点分离和可测试性。 人们是否成功地将仓储库模式与文档...

17得票2回答
嵌入式RavenDB出现“找不到事务存储类型”错误

我成功地运行了一个基于http://ravendb.net/tutorials/hello-world代码的RavenDB测试。 接下来,我尝试以嵌入方式运行它,但是我一直收到以下错误:Message: Could not find transactional storage type: Ra...