标签: mongodb

MongoDB或CouchDB - 适合生产?

我想知道是否有人可以告诉我MongoDBCouchDB是否已为生产环境做好准备.

我现在正在研究这些存储解决方案(我现在偏爱MongoDB),但是这些项目还很年轻,所以我预计我必须努力工作才能说服我的经理我们应该采用这个新技术.

我想知道的是:

  1. 谁今天在生产环境中使用MongoDB或CouchDB?

  2. 你是如何使用MongoDB/CouchDB的?

  3. 当你采用这种新的存储机制时,你遇到了什么问题(如果有的话)(你是如何克服它们的)?

  4. 您是如何处理您必须处理的任何迁移问题的?

  5. 您是否对这些您想要分享的解决方案有任何好/坏经历?

database couchdb mongodb

485
推荐指数
10
解决办法
13万
查看次数

如何获取mongodb中的最后N条记录?

我无法找到任何记录在案的地方.默认情况下,find()操作将从头开始获取记录.我怎样才能获得mongodb中的最后N条记录?

编辑:我也希望返回的结果从最近到最近排序,而不是相反.

record mongodb

474
推荐指数
10
解决办法
42万
查看次数

如何在MongoDB中执行SQL Join等效项?

如何在MongoDB中执行SQL Join等效项?

例如,假设你有两个集合(用户和评论),我想用pid = 444以及每个集合的用户信息来提取所有评论.

comments
  { uid:12345, pid:444, comment="blah" }
  { uid:12345, pid:888, comment="asdf" }
  { uid:99999, pid:444, comment="qwer" }

users
  { uid:12345, name:"john" }
  { uid:99999, name:"mia"  }
Run Code Online (Sandbox Code Playgroud)

有没有办法用一个字段拉出所有评论(例如......查找({pid:444}))以及与每个评论相关的用户信息?

目前,我首先得到符合我标准的评论,然后找出该结果集中的所有uid,获取用户对象,并将它们与评论的结果合并.好像我做错了.

join mongodb

471
推荐指数
12
解决办法
32万
查看次数

什么时候去Redis?什么时候到MongoDB?

我想要的不是Redis和MongoDB之间的比较.我知道他们是不同的; 性能和API完全不同.

Redis非常快,但API非常'原子'.MongoDB将占用更多资源,但API非常易于使用,我对此非常满意.

它们都很棒,我想尽可能多地使用Redis进行部署,但是很难编码.我想尽可能多地在开发中使用MongoDB,但它需要一台昂贵的机器.

那么你怎么看待它们的使用呢?什么时候选Redis?什么时候选择MongoDB?

architecture mongodb nosql redis

466
推荐指数
7
解决办法
28万
查看次数

你如何重命名MongoDB数据库?

我的MongoDB数据库名称中有一个拼写错误,我正在寻找重命名数据库.

我可以这样复制和删除......

db.copyDatabase('old_name', 'new_name');
use old_name
db.dropDatabase();
Run Code Online (Sandbox Code Playgroud)

是否有重命名数据库的命令?

database mongodb

456
推荐指数
9
解决办法
15万
查看次数

查找包含特定值的数组的文档

如果我有这个架构......

person = {
    name : String,
    favoriteFoods : Array
}
Run Code Online (Sandbox Code Playgroud)

... favoriteFoods数组中填充了字符串.我怎样才能找到所有使用猫鼬"寿司"作为他们最喜欢的食物的人?

我希望有类似的东西:

PersonModel.find({ favoriteFoods : { $contains : "sushi" }, function(...) {...});
Run Code Online (Sandbox Code Playgroud)

(我知道$contains在mongodb中没有,只是在了解解决方案之前解释我期望找到的内容)

mongoose mongodb

456
推荐指数
7
解决办法
43万
查看次数

查找数组字段不为空的MongoDB记录

我的所有记录都有一个名为"图片"的字段.该字段是一个字符串数组.

我现在想要这个数组不为空的最新10条记录.

我已经google了一下,但奇怪的是我在这方面找不到多少.我已经阅读了$ where选项,但我想知道本机函数有多慢,以及是否有更好的解决方案.

即便如此,这不起作用:

ME.find({$where: 'this.pictures.length > 0'}).sort('-created').limit(10).execFind()
Run Code Online (Sandbox Code Playgroud)

什么都不返回 离开this.pictures没有长度位确实有效,但当然它也返回空记录.

mongoose mongodb

444
推荐指数
9
解决办法
27万
查看次数

删除MongoDB数据库中的所有内容

我在MongoDB上进行开发.对于完全非邪恶的目的,我有时想要吹掉数据库中的所有东西 - 也就是说,删除每一个集合,以及其他任何可能存在的东西,并从头开始.是否有一行代码可以让我这样做?同时给出MongoDB控制台方法和MongoDB Ruby驱动程序方法的加分点.

mongodb

434
推荐指数
11
解决办法
25万
查看次数

Mongod抱怨没有/ data/db文件夹

我今天第一次使用我的新Mac.我正在关注mongodb.org上的入门指南,直到创建/ data/db目录的步骤.顺便说一句,我用的是自制路线.

所以我打开一个终端,我想我就是你所谓的主目录,因为当我做"ls"时,我会看到桌面应用电影音乐图片文档和图书馆的文件夹.

所以我做了一个

mkdir -p /data/db
Run Code Online (Sandbox Code Playgroud)

首先,它表示许可被拒绝.我一直在尝试不同的事情半小时,最后:

mkdir -p data/db
Run Code Online (Sandbox Code Playgroud)

工作.当我"ls",一个数据目录并嵌套在其中一个db文件夹确实存在.

然后我启动mongod并抱怨没有找到data/db

我做错了什么吗?

现在我已经完成了

sudo mkdir -p /data/db
Run Code Online (Sandbox Code Playgroud)

当我做"ls"时,我确实看到了数据目录和db目录.虽然db dir里面没有任何东西,当我现在运行mongod时

Sun Oct 30 19:35:19 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Sun Oct 30 19:35:19 dbexit: 
Sun Oct 30 19:35:19 [initandlisten] shutdown: going to close listening sockets...
Sun Oct 30 19:35:19 [initandlisten] shutdown: going to flush diaglog...
Sun Oct 30 19:35:19 [initandlisten] shutdown: going to …
Run Code Online (Sandbox Code Playgroud)

macos mongodb

433
推荐指数
18
解决办法
35万
查看次数

检查字段是否包含字符串

我正在寻找一个运算符,它允许我检查一个字段的值是否包含某个字符串.

就像是:

db.users.findOne({$contains:{"username":"son"}})
Run Code Online (Sandbox Code Playgroud)

那可能吗?

mongodb

404
推荐指数
14
解决办法
36万
查看次数

标签 统计

mongodb ×10

database ×2

mongoose ×2

architecture ×1

couchdb ×1

join ×1

macos ×1

nosql ×1

record ×1

redis ×1