Questions tagged [document-database]

A document database stores, retrieves, and manages document-oriented information, also known as semi-structured data. Document databases often store data in a denormalized fashion as opposed to normalized data, which would appear in a relational database.

An excerpt from Wikipedia:

The central concept of a document-oriented database is the notion of a document. While each document-oriented database implementation differs on the details of this definition, in general, they all assume documents encapsulate and encode data (or information) in some standard formats or encodings. Encodings in use include XML, YAML, JSON, and BSON, as well as binary forms like PDF and Microsoft Office documents (MS Word, Excel, and so on).

Examples of document databases:

227 questions
130
votes
5 answers

Using git repository as a database backend

I'm doing a project that deals with structured document database. I have a tree of categories (~1000 categories, up to ~50 categories on each level), each category contains several thousands (up to, say, ~10000) of structured documents. Each…
121
votes
10 answers

Delete a key from a MongoDB document using Mongoose

I'm using the Mongoose Library for accessing MongoDB with node.js Is there a way to remove a key from a document? i.e. not just set the value to null, but remove it? User.findOne({}, function(err, user){ //correctly sets the key to null... but…
Daniel Beardsley
  • 18,289
  • 20
  • 62
  • 76
77
votes
6 answers

Pros/cons of document-based databases vs. relational databases

I've been trying to see if I can accomplish some requirements with a document based database, in this case CouchDB. Two generic requirements: CRUD of entities with some fields which have unique index on it ecommerce web app like eBay (better…
user2427
  • 7,492
  • 18
  • 57
  • 71
61
votes
3 answers

How to organise a many to many relationship in MongoDB

I have two tables/collections; Users and Groups. A user can be a member of any number of groups and a user can also be an owner of any number of groups. In a relational database I'd probably have a third table called UserGroups with a UserID column,…
56
votes
4 answers

Storing null vs not storing the key at all in MongoDB

It seems to me that when you are creating a Mongo document and have a field {key: value} which is sometimes not going to have a value, you have two options: Write {key: null} i.e. write null value in the field Don't store the key in that document…
Zaid Masud
  • 12,359
  • 8
  • 62
  • 84
44
votes
4 answers

Choosing MongoDb/CouchDb/RavenDb - performance and scalability advice

We are looking at a document db storage solution with fail over clustering, for some read/write intensive application. We will be having an average of 40K concurrent writes per second written to the db (with peak can go up to 70,000 during) - and…
amazedsaint
  • 7,554
  • 6
  • 52
  • 83
32
votes
3 answers

Document Databases: Redundant data, references, etc. (MongoDB specifically)

It seems like I run into lots of situations where the appropriate way to build my data is to split it into two documents. Let's say it was for a chain of stores and you were saving which stores each customer had visited. Stores and Customers need…
Jim
  • 435
  • 5
  • 12
30
votes
4 answers

Am I missing something about Document Databases?

I've been looking at the rise of the NoSql movement and the accompanying rise in popularity of document databases like mongodb, ravendb, and others. While there are quite a few things about these that I like, I feel like I'm not understanding…
Josh
  • 776
  • 6
  • 20
26
votes
6 answers

Does it make sense to use the repository pattern with a document database?

I'm currently experimenting with MongoDB. I'm moving from a NHibernate/SQL mindset, and so initially I implemented a repository pattern for data access. This was all looking fine until I started using nested documents. Now it's starting to seem…
UpTheCreek
  • 28,433
  • 31
  • 143
  • 214
17
votes
2 answers

"Could not find transactional storage type" error with embedded RavenDB

I was able to successfully run a simple test for RavenDB based on the code found at: http://ravendb.net/tutorials/hello-world Next I tried to run it in an Embedded Manner, but I keep on getting the following error: Message: Could not find…
Pranav Shah
  • 3,115
  • 3
  • 27
  • 45
16
votes
2 answers

RavenDB Session > 30

If I'm trying to save a list of items I want to save that has a count > 30 I get an error saying The maximum number of requests (30) allowed for this session has been reached. Raven limits the number of remote calls that a session is allowed …
13
votes
7 answers

What are some good, fast persistent storage options for key->value data?

For a small PHP app I am writing, we need to store a large number of records that have a hash key, and a few simple field values ('host', 'path'). eg: '4420ffb32a' => array( 'host' => '127.0.0.1', 'path' => 'path/to/resource', ); What is the…
BrianV
  • 883
  • 1
  • 6
  • 10
13
votes
2 answers

RavenDB: Id Generation For Sub-Documents

I'm trying migrating an existing web application to use RavenDB. I currently have pages in my web application which allow you to view Categories, SubCategories and Resources based on an id in the querystring. However I notice that RavenDB generates…
Andy
  • 7,198
  • 7
  • 40
  • 66
12
votes
2 answers

How would I model data that is heirarchal and relational in a document-oriented database system like RavenDB?

Document oriented databases (particularly RavenDB) are really intriguing me, and I'm wanting to play around with them a bit. However as someone who is very used to relational mapping, I was trying to think of how to model data correctly in a…
KallDrexx
  • 26,119
  • 31
  • 137
  • 246
12
votes
1 answer

ArangoDB link documents

Is it possible to link documents from different collections in ArangoDB as it is in OrientDB? In OrientDB you can create a field of type LINK and specify the type linked. That creates a relation between both documents. Do I have to use edge…
GBrian
  • 941
  • 8
  • 24
1
2 3
15 16