需要建议来澄清mongoDB的概念来存储和检索图像

时间:2010-11-23 00:08:11

标签: java mongodb nosql

我是mongoDB的新手。有人告诉我使用mongoDB到我的照片管理网络应用程序。我无法理解mongoDB的基本概念。文件。

What is documents in mongoDB?

j = { name : "mongo" };
t = { x : 3 };

在mongoDB网站上,他们说上面两行是2个文件。

但直到这个时候我才认为.txt, .doc .excel... etc.是文件。(这可能很有趣,但我真的需要理解它的概念!)

如何在mongoDB中表示txt文件,例如example.txt

What is collection?

Collection of documents is known as "Collections in mongoDB"

我可以创建多少个集合?

All documents were shared in all collections

Finnaly我来找我,How shall i represent images in mongoDB?

在教程的帮助下,我学会了使用java !!来存储和检索来自mongoDB的图像。

但是,如果不了解mongoDB的概念,我就无法继续前进!

关于mongoDB的博客和文章非常有趣。但我仍然无法理解它的基本概念!!!

任何人都可以用mongoDB打击我的脑袋!! ??

2 个答案:

答案 0 :(得分:2)

也许将MongoDB与SQL进行比较可以帮助你......

在SQL查询中对表,列和&基于集合的操作中的行。有预定义的模式(以及希望索引)来帮助查询处理器(以及查询器!)

SQL表格/行

id  | Column1 | Column2
-----------------------
 1  | aaaaa   | Bill
 2  | bbbbb   | Sally
 3  | ccccc   | Kyle

SQL查询

SELECT * FROM Table1 WHERE Column1 = 'aaaaa' ORDER BY Column2 DESC

此查询将返回名为 Table1 的表中的所有列,其中名为 Column1 的列的值为 aaaaa 然后它将订购 Column2 的值的结果,并按降序将结果返回给客户端。

<强> MongoDB的

在MongoDB中没有表格,列或行...而是它们的集合(这些就像表格)和集合中的文档(如行)。

MongoDB馆藏/文件

{
 "_id" : ObjectId("497ce96f395f2f052a494fd4"),
 "attribute1" : "aaaaa",
 "attribute2" : "Bill",
 "randomAttribute" : "I am different"
}
{
 "_id" : ObjectId("497ce96f395f2f052a494fd5"),
 "attribute1" : "bbbbb",
 "attribute2" : "Sally"
}
{
 "_id" : ObjectId("497ce96f395f2f052a494fd6"),
 "attribute1" : "ccccc",
 "attribute2" : "Kyle"
}

但是,没有像SQL表那样的预定义“表结构”或“模式”。例如,您可以看到此集合中的第二个文档具有一个名为 randomAttribute 的属性,其他文档都没有。

这很好,它不会影响我们的查询,但允许一些非常强大的东西......

数据以BSON格式存储,非常接近Javascript JSON标准。您可以在http://bson.org/

了解更多信息

MongoDB查询

SELECT * FROM Table1 WHERE Column1 = 'aaaaa' ORDER BY Column2 DESC

我们如何在MongoDB的Shell中做同样的事情?

> db.collection1.find({attribute1:"aaaaa"}).sort({attribute2:-1});

也许你已经可以看到MongoDB查询与SQL有多么相似(虽然看起来很不一样。)我在http://learnmongo.com上发布了一些帖子,这对你也有帮助。

答案 1 :(得分:0)