标签: nosql

在mongorc.js中选择特定数据库

是否可以选择MongoDB在mongorc.js中启动时应使用的数据库?

use dbname
Run Code Online (Sandbox Code Playgroud)

没有运作.这是一个非JavaScript宏.

mongodb nosql mongo-shell

2
推荐指数
1
解决办法
1642
查看次数

使用MongoDB shell获取嵌套字段

我的"用户"集合带有"关注列表"字段,其中也有许多内部字段,其中一个是"arrangeable_values"("关注列表"中的第二个字段).

我需要在"用户"集合中找到每个用户,在"关注列表"中找到每个"arrangeable_values".

我怎么能用mongodb shell做到这一点?

以下是数据模型的示例:

> db.users.findOne({'nickname': 'superj'})
{
    "_id" : ObjectId("4f6c42f6018a590001000001"),
    "nickname" : "superj",
    "provider" : "github",
    "user_hash" : null,
    "watchlists" : [
        {
            "_id" : ObjectId("4f6c42f7018a590001000002"),
            "arrangeable_values" : {
                "description" : "My introduction presentation to node.js along with sample code at various stages of building a simple RESTful web service with journey, cradle, winston, optimist, and http-console.",
                "tag" : "",
                "html_url" : "https://github.com/indexzero/nodejs-intro"
            },
            "avatar_url" : "https://secure.gravatar.com/avatar/d43e8ea63b61e7669ded5b9d3c2e980f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
            "created_at" : ISODate("2011-02-01T10:20:29Z"),
            "description" : "My introduction presentation to node.js along …
Run Code Online (Sandbox Code Playgroud)

database mongodb nosql mongodb-query

2
推荐指数
1
解决办法
1万
查看次数

如何用php计算mongo集合中的文档元素?

我有一个mongo文件的以下结构:

{
 "_id": ObjectId("4fba2558a0787e53320027eb"),
 "replies": {
    "0": {
      "email": ObjectId("4fb89a181b3129fe2d000000"),
      "sentDate": "2012-05-21T11: 22: 01.418Z" 
    } 
    "1": {
     "email": ObjectId("4fb89a181b3129fe2d000000"),
     "sentDate": "2012-05-21T11: 22: 01.418Z" 
    } 
    "2" ....
 }

}
Run Code Online (Sandbox Code Playgroud)

如何计算集合中所有文档的所有回复?谢谢!

mongodb nosql mongodb-query

2
推荐指数
1
解决办法
1万
查看次数

sisoDB使用sql server数据库来存储数据

我正在寻找一个与asp.net一起使用的NoSQL数据库,我来到了sisoDB.但据我所知,它使用Sql server来保存数据,所以它可以使用sql server功能,如安全性和....

这是对的吗 ?这种方法的优点和缺点是什么?

sql-server asp.net nosql document-database sisodb

2
推荐指数
1
解决办法
577
查看次数

与具有10M记录的MySQL相比,MongoDB极其缓慢

我有一个相当高负载的项目,在MySQL上运行大约1000万条记录,每秒约有500个请求.数据非常独特,缓存命中率仅为3%左右.每行有大约10个字段,其中2个索引.99%的查询使用两个索引字段进行请求.

我决定尝试使用NoSQL,而MongoDB并不是那么简单.使用简单的自定义脚本移动数据非常简单.数据库模式保持完全相同,我复制了相同的两个索引字段,这些字段仍然对90%的请求负责.然后我决定尝试一下并且非常震惊:MongoDB非常非常缓慢地回答查询.响应速率从每秒5到10个请求变化,而使用mysql则为500.

任何想法为什么会发生这种情况?这是正常的吗?在这种特殊情况下,我是否应该期望MongoDb的性能超过Mysql(10M记录,许多具有低缓存命中率的独特请求)?我觉得我错过了一点.

更新一些规格

我测试的服务器是带有4GB内存的四核xeon

MySQL表是(重命名的字段名称):

  CREATE TABLE `table` (
  `recordid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `var1` varchar(200) DEFAULT NULL,
  `var2` char(32) DEFAULT NULL,
  `var3` bigint(20) unsigned DEFAULT NULL,
  `var4` smallint(5) unsigned DEFAULT NULL,
  `var5` datetime DEFAULT NULL,
  `var6` int(10) unsigned NOT NULL,
  `var7` int(10) unsigned NOT NULL,
  `var8` tinyint(1) DEFAULT NULL,
  PRIMARY KEY (`recordid`),
  UNIQUE KEY `recordid_UNIQUE` (`recordid`),
  KEY `keyvar7` (`var7`),
  KEY `keyvar6` (`var6`)
Run Code Online (Sandbox Code Playgroud)

典型的查询是:SELECT var2,var4,var5,var6 from table,其中var7 = xxx,var6 = yyy

我通过比较使用索引和非索引字段的查询,验证了MongoDB正确复制了相同的索引.

UPDATE2 MongoDB .getIndexes()回复

  > db.table.getIndexes(); …
Run Code Online (Sandbox Code Playgroud)

mongodb nosql

2
推荐指数
1
解决办法
2503
查看次数

在RavenDB中使用SaveChangesAsync

我将大量数据插入RavenDB数据库; 大约2 500000条记录.这需要在尽可能短的时间内完成.

我使用一个列表来保存SaveChangesAsync返回的Task对象:

session.Store(loc);

splitter++;
if (splitter % 2048 == 0)
{
    var t = session.SaveChangesAsync();
    tasks.Add(t);

    if (tasks.Count == 2)
    {
        Task.WaitAll(tasks.ToArray());
        tasks.Clear();
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码在具有i7(8核)和12 GB RAM的机器上运行.如果我持有的Task对象的数量是2(如您在代码中看到的那样),但是如果我将此数字增加到8(核心数),则会收到System.IndexOutOfRangeException(有时会出现System.AggregateException: Raven.Abstractions.Exceptions.ConcurrencyException:PUT尝试使用非当前的etag文档'X/I'.

这里有什么问题?

谢谢

c# asynchronous insert nosql ravendb

2
推荐指数
1
解决办法
1674
查看次数

插入RavenDB; 最快的方式

我想从一个文本文件(每行是一个类似csv的条目)导入1亿个条目到RavenDB数据库.最快的方法是什么?

补充说明:

我还没有任何索引(我会在插入数据后创建它们).RavenDB在本地计算机上以服务模式运行,没有任何安全性增强(但是因为我还在测试RavenDB).该测试将在2台不同的机器上运行,1)2芯4GB内存2)8芯12 GB内存.

我已经完成了将一部分数据(200万个条目)插入到RavenDB中,但它没有我想要的那么快.通过使用OpenAsyncSession并为每1024条记录调用SaveChangesAsync并再次通过调用OpenAsyncSession创建一个新会话,而不是在500'000条目之后等待返回任务(由SaveChangesAsync返回),我得到一个"索引超出范围"异常我无法根除.但是,如果我等待任务结束(通过创建与核心数相同的任务),过程将成功,但速度不够快.

此代码成功运行:

using (var reader = new StreamReader(@"D:\*\DATA.TXT", Encoding.UTF8))
{
    string line = null;
    IAsyncDocumentSession session = null;

    var tasks = new List<Task>();
    var locCount = 0;

    while ((line = reader.ReadLine()) != null)
    {
        if (string.IsNullOrWhiteSpace(line)) continue;

        var loc = Parse(line);

        if (session == null) session = documentStore.OpenAsyncSession();

        session.Store(loc);
        locCount++;

        if (locCount % 1024 == 0 && session != null)
        {
            try
            {
                var t = session.SaveChangesAsync();
                tasks.Add(t);
                session = null;
            }
            catch (Exception x)
            { …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous insert nosql ravendb

2
推荐指数
1
解决办法
2233
查看次数

MongoDB数组中的所有值都应小于一个值

我有一个包含嵌入式文档的文档.即'key'=> array(...)

是否可以创建一个查询,以便对于嵌入式数组中的某些值,所有这些值都是$ lt某个值?

像这样:

{
'key.value' : { $lt : 5.0 }
}
Run Code Online (Sandbox Code Playgroud)

问题是,只要一个是$ lt然后它匹配我不想要的,我希望所有应该小于5.

database mongodb nosql

2
推荐指数
1
解决办法
637
查看次数

从文件记录迁移到数据库记录

我们目前正在考虑从日志记录迁移到文件,再到记录到NoSQL数据库.我们公司的另一个团队开始使用HBase,但对于我们想做的事情来说,这看起来非常复杂.我一直在看MongoDB,但我想要一些建议.

目前,我们在农场中有数百台服务器用于不同的应用.每当我们从其中一个应用程序中听到问题时,就会有一个很长的过程从app ops中检索日志,然后是一个漫长的过程来筛选它们以找到问题.我们正在考虑将所有日志记录移动到一个中心位置并围绕它构建Web UI,以便我们可以更轻松地访问和查询日志.

哪个NoSQL数据库非常适合存储和查询应用程序日志?

logging nosql

2
推荐指数
1
解决办法
4318
查看次数

用于统计/报告数据的数据库是什么?

我的应用程序是一种POS系统.问题在于报告.每个产品,每个表,每个员工,类别的销售额.有1年的日期范围报告是非常缓慢的,因为他们必须总结很多行等.所以我想知道一个无sql数据库是否可以帮助,如每天有什么摘要或东西..但也许它不容易因为可能有每个项目*产品*类别*员工等查询.那我该怎么办?

database nosql

2
推荐指数
1
解决办法
196
查看次数