我是 mongoDB 新手。有人告诉我在我的照片管理网络应用程序中使用 mongoDB。我无法理解 mongoDB 的基本概念。文件。
mongoDB 中的文档是什么?
j = { name : "mongo" };
t = { x : 3 };
在 mongoDB 网站上他们说上面的两行是 2 个文档。
但直到此时我还认为 .txt、.doc .excel...等
是文档。(这可能很有趣,但我真的需要理解它的概念!)
如何在 mongoDB 中表示 txt 文件,例如 example.txt
?
什么是集合?
文档集合被称为“mongoDB 中的集合”
我可以创建多少个集合?
所有文档均在所有集合中共享
终于轮到我了,我该如何在 mongoDB 中表示图像?
在教程的帮助下,我学会了使用 java 从 mongoDB 存储和检索图像!!
但是,如果不了解 mongoDB 的概念,我就无法继续前进!
有关 mongoDB 的博客和文章非常有趣。但我仍然无法理解它的基本概念!
有人可以用 mongoDB 敲我的头吗!!!?
最佳答案
也许将 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 上发布了一些帖子。这也可能对您有帮助。
关于java - 需要建议来阐明 mongoDB 存储和检索图像的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4251520/