Im使用RavenDB(在服务器模式下运行@localhost:3000)和ASP.NET MVC3
我有一个代码段,它从Build289开始停止工作。它确实工作过几次,不确定是更新到322还是我做的什么
Session.Query<Post>().ToList().ForEach(Session.Delete);
当上面的代码段(Session.Delete)实际运行时,此日志将显示在VisualStudio输出窗口中
Executing query '' on index 'd
我正在与RavenDB进行我的第一个严肃项目,并希望征求建议。我目前在我的领域中有两个概念,演示者和演示。演示者可以多次演示,并且一个演示当前只有一个演示者。在关系模型中,我有两个表,但不确定如何选择文档模式
我希望能够显示一些关于演讲者的最低限度的信息,以及有一个演讲者页面,显示有关他们的所有演示文稿的信息未来的演示文稿。
我想到的是:
演示者:
介绍:
有人对更好的模式有什么建议吗 当前模型已针对最终性能进行了优化,因为它对两端的引用进行了非规范化。一般来说,这是好的,但当双方的头衔发生变化
我试图了解通过设置Raven/AnonymousUserAccessMode value=“Get”可以实现什么。如果该值设置为“Get”,这意味着匿名用户只能使用HTTP Get获取数据。如果我有一个允许未注册用户在我的网站上提交反馈的网页,该怎么办?“Get”值是否限制他们这样做?我是否应该将值改为“全部”
我询问的原因是,当值为“Get”时,我无法保存示例文档。我的web应用程序抛出“远程服务器返回错误:(403)禁止。”错误。为了解决这个错误,我需要将“Raven/AnonymousUs
我正在运行一个批处理作业,它选择一批100个文档,然后获取所有链接到它的文档——每个文档可能最多25个
我使用第一批的ID进行“加入”。因此,我可能会使用25*100 ID调用session.load。我试图实现分页,但使用返回数组的load方法似乎不可能
这里的最佳实践是什么?最佳实践是使用.Include方法,而不是按照您所描述的方法执行。您可以在中阅读更多内容
如果你想发布一些你现在正在做的代码,我可以提供一个更详细的回复
我刚刚开始玩RavenDB,我可以从数据库中添加、删除和查询文档。但是,当我在localhost:8080上查看databasestudio时,它显示数据库有0个文档。有人知道为什么会这样吗?更改连接字符串以包含数据库名称
<add name="RavenDB" connectionString="Url=http://localhost:8080;Database=MyDatabaseName" />
可以肯定的是,当您在链接:/raven/studio.html#/datab
我的用户会看到一个网格,默认情况下,它只会得到前15个结果。但是,他们可以键入名称并在所有页面中搜索项目
单独使用,这两种方法都可以很好地工作,但我正在尝试找出如何使它们作为单个查询工作。这基本上就是它看起来的样子
// find a filter if the user is searching
var filters = request.Filters.ToFilters();
// determine the name to search by
var name = filters.Co
似乎在program中设置MaxPageSize的配置不起作用。
我知道这是一种不好的做法,但我希望检索音乐数据库集合中所有不同的艺术家,并将其存储在GUI组合中供选择,并且不喜欢循环浏览一堆128个文档。系统是独立使用的,因此性能影响与sql db中的select*相同
我在代码中执行此操作:
_store = new EmbeddableDocumentStore
{
Configuration = new RavenConfiguration()
我有一个项目,我有一套表格:
public class Form
{
public string Id { get; set; }
public string Name { get; set; }
public IList<string> FieldValueIds { get; set; }
public string UserId { get; set; } // the user who completed the form.
publi
在保存到Raven数据库时,我们会定期收到以下错误。客户端和数据库是v3.5。到目前为止,解决方案是重新启动服务器,然后事情似乎就稳定下来了。用户可以转到另一台服务器,然后返回站点并检索保存的内容。但是,当我们在服务器上看到1个这样的错误时,服务器开始报告其中的100个错误。我们无法在QA中复制这一点。所以我倾向于加载,或者我们的Raven会话没有正常关闭
调用Raven OpenSessionAsync()作为创建类的点
IAsyncDocumentSession
public async T
标签: Ravendb
embedded-databasemedium-trust
我正在尝试使用中等信任的RavenDB,我想尝试嵌入式模型,因为我使用的主机(便宜)不允许安装服务。我要初始化的代码如下所示:
private void ConfigureStorage()
{
store = new EmbeddableDocumentStore();
store.Configuration.DefaultStorageTypeName = "munin";
store.Configuration.DataDirecto
当我的C、WPF UI启动时,其中一个选项卡在加载时调用此代码。显示的最新数据是2012年2月11日,尽管有2012年2月15日的安装摘要文档。当我点击刷新按钮时,会调用完全相同的代码,只是这次显示了最新的结果。同一代码如何产生两种不同的结果
IQueryable<EntityBase> installationSummaries =
QueryAndSetEtags(session => session.Query<InstallationSummary>()
使用Fiddler发布“{'BackupLocation':'C:\Backups\2010-05-06'}”会导致401
RavenDb正在作为服务运行,并且已设置。Alexander,请确保您正在运行以管理员身份发布的应用程序(Raven.Backup.exe或控制台)。嗯。。。应用程序不需要管理员权限来发送HTTP POST命令。不需要,但它需要管理员权限,因为RavenDB使用Windows身份验证来验证发件人是否具有启动备份的权限。Thx。启动备份与匿名访问是不同的权限?是。如果要启动
我有以下文档模型:
public class Product
{
public int Id {get;set;}
public string Name {get;set;}
// ...
}
public class Customer
{
public int Id {get;set;}
public string Name {get;set;}
// ...
}
public class ProductOrder
{
public
我想检测上次修改或写入集合或索引的时间
注意:这适用于文档级别,但我需要集合/索引级别 仅通过RavenDB Http Api获取元数据:
得到http://localhost:8080/indexes/dynamic/MyDocuments/?metadata-仅=真
将返回:
{ "Results":[],
"Includes":[],
"IsStale":false,
"IndexTimestamp":"2013-09-16T15:54:58.2465733Z",
"Tot
我一直有同样的问题几个星期了,我似乎不知道是什么问题。
我最近开始使用RavenDB,它工作得很好,但几天后,当我回家想在本地机器上启动服务器时,它只是不想启动,它在日志中给出了以下堆栈跟踪:
2019-03-05T18:58:43.0323063Z, 1, Operations, Server, Raven.Server.RavenServer, Failed to create a webhost to redirect HTTP traffic to HTTPS, EXCEPTION: S
在RavenDb中,我有一个简单的多重映射索引,如下所示:
public class MessageOutboxIndex : AbstractMultiMapIndexCreationTask<MessageOutboxIndex.ReduceResult>
{
public class ReduceResult
{
public string Id { get; set; }
public s
数据库恢复后出现问题。如何修复DB?Gengzu,
您可能在计算机之间移动了数据库。
要解决此问题,您需要运行:
esentutl /d Data
从RavenDB数据目录中,您应该在Raven的数据文件夹中运行util。当我在Raven服务器的根目录下运行它时->“操作因错误-1032而终止…”也出现了
以管理员身份打开命令提示符
将目录更改为RavenDB的\Database\System文件夹
运行下面的命令
esentutl/d数据
是的,那么为什么这需要手动步骤呢?什么是特定于机器
我有以下引导
public class NancyBootStrapper: DefaultNancyBootstrapper
{
protected override void ConfigureRequestContainer(TinyIoC.TinyIoCContainer container, NancyContext context)
{
base.ConfigureRequestContainer(container, context);
我正在使用RavenDB批量加载一些文档。是否有方法获取加载到数据库中的文档数
对于插入操作,我正在执行:
BulkInsertOperation _bulk = docStore.BulkInsert(null,
new BulkInsertOptions{ CheckForUpdates = true});
foreach(MyDocument myDoc in docCollection)
_bulk.Store(myDoc);
_bulk.Dis
我有一个索引,它遍历大量的文档,然后是一个转换器,它形成一个返回并对它们进行一些数学逻辑
是否可以从转换器或索引中回写文档上的字段,而不必获取数据并向每个文档发送另一个写入请求
例如,我有文档得分,每个文档都有一个名为值的属性,即IList
我有一个索引,可以获取所有这些内容,还有一个转换器,可以根据检索到的文档中的其他属性进行一些计算
var results =
session
.Query<Score, ScoresByName>()
.
我们正在尝试为Elmah实现一个自定义记录器,以便在MVC5应用程序中记录RavenDB数据库中的错误
日志记录工作正常,但当我们尝试读取日志时,会发现错误类的所有属性(类型为NameValueCollection)都出现异常,错误如下:
无法填充列表类型System.Collections.Specialized.NameValueCollection。路径“Error.ServerVariables”
如果我们查看Ravendb文档中的json属性,我们可以看到它们被存储为数组,这导致了问题
在Ravendb4(v4.0.3-patch-40031)中,我有两种文档类型:Apple和Orange。两者具有相似但又截然不同的特性。我在运行时的代码中遇到了一个bug,有时候会提供一个苹果的ID,但会返回一个橙色。吓人
深入研究一下,这有点道理。但我正在努力寻找一个合适的解决方案
来吧。在RavenDB中,我将一个Apple存储为文档:
id: "078ff39b-da50-4405-9615-86b0d185ba17"
{
"Name": "Elstar",
"@meta
我想创建一个基本的嵌套索引,它只包含包含文档和嵌套数据的id。根据ravenDb文档,我做了如下工作:
public class LeaguesIndex : AbstractIndexCreationTask<CommunityDocument>
{
public class Result
{
public string CommunityId { get; set; }
public Domain.TeamLeague Leagu
我正在运行我的应用程序的两个实例。在一个实例中,我保存了一个实体。当我查看RavenDB时(http://localhost:8080/raven),我能看到变化。然后,在我的另一个客户端中,我这样做(如下),但我看不到来自另一个应用程序的更改。为了获取数据库中的最新数据,我需要做什么
public IEnumerable GetAll()
{
返回会话
.Query()
.Customize(x=>x.WaitForNonSaleResults());
}
编辑:如果我尝试进行更改并获得并发
我能够用嵌入式版本的RavenDb加载数百万个文档,非常灵活
现在我试图查询这些项目,发现性能并不是我所期望的,如果可能的话,几乎是瞬间的,而是在一台相当结实的机器上超过18秒
下面,您将看到我的天真代码
注意:我现在已经解决了这个问题,最后的代码在文章的底部。需要注意的是,您需要索引,它们必须是正确的类型,而且RavenDB需要知道它们。非常满意通过查询引擎返回的记录的性能和质量
谢谢,,
斯蒂芬
使用(var store=new embeddedabledocumentstore{DataD
我知道一个查询不能获得超过128条记录,如果我使用.Take(1024),这可以扩展到1024条。但是我在示例数据库中遇到了一个新问题:
var albumCount = session.Query<Album>().Count();
Console.WriteLine(albumCount); // 246 as expected?!?
var somemoredata = session.Query<Album>();
Console.WriteL
我正在尝试将NServiceBus 3.3.5设置为使用集中式RavenDB,而不是在每个应用服务器上运行RavenDB。我能够使用NServiceBus.Persistence和Windows用户名/密码,并且可以正常工作。但是,如果可能的话,我想使用APIKeys
作品:
<add name="NServiceBus.Persistence"
connectionString="Url=http://DBServerName:8080;Database=DBName;User
我们已经看到与RavenDB连接相关的问题明显增多。我们正在使用IIS服务器连接方法
我已经检查了索引错误,但没有看到列出任何内容
此服务器是使用MySQL服务器复制的,今天的日志中有一个与复制相关的错误。客户端堆栈跟踪错误是否真的来自复制服务器而不是Raven
编辑
在这种情况下,客户机是一个一天运行几百次的单一作业…成功了很多次,但由于这些错误,失败的次数越来越多
Sql复制失败,无法复制
以下是客户端日志中的部分堆栈跟踪错误:
[WebException: Unable to connec
我试图在RavenDb中定义一个索引,它使用另一个索引的输出作为输入,但我无法让它工作。
我定义了以下实体和索引
SquadIndex生成我期望的结果,但SquadSizeIndex似乎甚至没有执行
我是否做错了什么,或者这不受支持
class Country
{
public string Id { get; private set; }
public string Name { get; set; }
}
class Player
{
public string I
是否可以在string[]字段中进行RavenDb分面搜索,在该字段中,我只想显示以特定字符串开始的值的分面(计数),而不是范围
我将尝试用一个简单的例子更好地解释我自己,想象一下有一个包含以下条目的索引
ID | Values
-------------------------
1 | CatPersian, CatNormal, DogLabrador
2 | CatPersian, Camel, DogPoodle
3 | CatNormal, CatBengali, DogNorm
我们开始使用RavenDB处理服务器C驱动器上的数据。现在我们要将数据库(而不是软件)移动到D驱动器
我知道如何移动它,但不知道如何更新系统数据库中的DataDir属性。我试过:
D:\Ravendabases
D://ravendabases
两者都不起作用。找到一个帖子,上面说路径是相对于系统数据库的,但是如何将系统数据库与数据数据库一起移动,然后更新DataDir属性?因此,有关如何在驱动器之间移动数据库的在线信息非常少
我能拼凑的是:
停止IIS或Raven正在运行的应用程序池
禁用每
我需要在一段时间后将文档标记为过期,因此我尝试使用@refresh功能重新运行订阅并计算我的“过期”标志。我知道有“文档过期”功能,但这个功能会删除我不想要的数据
我在设置中启用了刷新功能,并在元数据中为所需文档添加了@Refresh UTC datetime。例如,我手动添加了此文档:
{
"Name": "My data",
"@metadata": {
"@collection"
我知道以前有人问过这个问题(甚至是我),但我还是不明白其中的一两件事
我的理解是,通过执行以下操作,可以检索到比128默认设置更多的文档:
session.Advanced.MaxNumberOfRequestsPerSession = int.MaxValue;
我已经了解到WHERE子句应该是ExpressionTree而不是Func,因此它被视为可查询的,而不是可枚举的。所以我觉得这应该行得通:
public static List<T> GetObjectList<T
我正试图从Server1连接到Server2上的RavenDB
在服务器2上,我创建了一个新用户“RavenDBUser”,并授予他们对RavenDB安装中数据库目录的读/写访问权
我正在端口8080上运行RavenDB作为windows服务
在服务器1上,我已将应用程序的连接字符串设置为:
Url=http://server2:8080;Database=MyDatabase;Domain=server2;user=RavenDBUser;password=mypassword;
当我运行我
启用RavenDB时,RavenDB会执行以下操作:
备份整个数据库
在每个间隔(或“n”分钟),RavenDB都会对自上次间隔以来发生的所有更改进行增量备份(或增量备份)
我对这种配置很满意,但有一点需要注意
每周,我都想“清理账本”,强迫RavenDB备份整个数据库,并从这个新的起点继续进行增量备份
如何以自动化的方式实现这一点?我认为这不是一个受支持的方案
RavenDB的定期备份包是免费的,而且很抱歉,没有任何东西可以强制进行完整的更新,也没有任何东西可以让包相信它是从头开始的
如果你想
我有一个空间索引和搜索在原型中工作,现在我正试图将它集成到我们的适当解决方案中,该解决方案有一个稍微不同的数据模型,并且不会返回任何搜索结果
这些是我的课
public class SpatialDataModel
{
public int Id { get; set; }
public string Title { get; set; }
public SpatialDataShapeModel SpatialDataShape { get; set; }
}
pub
从RavenDb开始,通过studio了解数据库中的内容
在添加了非常简单的对象之后,我注意到的一件事,当然是系统记录在路径中包含了HILO/吗
这张唱片是什么?我认为它代表实体的标识符?对吗?为什么它甚至可以在stidio中看到?当然我不应该在意,也不会使用这个?RavenDB默认使用HILO算法生成身份。“Hi(高)”值保存在服务器中,而“Lo(低)”值保存在客户端中。您在studio中看到的是“Hi”值:
下面是一篇很好的博客文章,解释了HiLo算法的工作原理:
从理论上讲,我关心的是加载与性能的关系。让我们举一个例子:
BlogPost[]前缀resultswithmatch=session.Advanced
.LoadStartingWith(“blogposts/1”,“*/Author/*t”);
所以我们没有索引。这个“查询”直接进入商店。它如何有效地执行它(没有fullscan)?在RavenDb或存储(esent、Voron)级别是否有ID的内部索引?据我所知,Raven总是对文档ID进行索引
如果对没有任何查询参数的类型执行查询,Rav
我使用ASP.NET 5 RC1和RavenDb创建了一个新的web应用程序。我无法确定如何启动Raven Studio web客户端。在Chrome中,我可以看到以下JSON响应:
{
"Message": "The following embedded file was not available: index.html. Please make sure that the Raven.Studio.Html5.zip file exist in the main directory
我从来没有用过RavenDb,看起来很有趣,但我在第一个栏就摔倒了。
我已经下载、解压缩并运行了C:\RavenDB\Server\Raven.Server.exe
它会闪烁然后消失
我尝试在dos提示符下运行,但出现以下异常:
C:\RavenDB\Server>Raven.Server.exe
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the
requested types. R
我正在努力学习编写索引。例如,我在管理工具中执行了以下操作,效果良好:
来自docs.ravenjabjects中的文档
来自文档[“加载程序”][“表格”]中的表格,其中表格[“@Type”]=“联系人信息”
从(IEnumerable)表[“行”]中的行,其中Convert.ToInt32(行[“@Index”])>1
选择新{}
我使用代码尝试了相同的语法,但出现了一个错误:
DocStore.DatabaseCommands.PutIndex(“JIndex”,新Raven.Clien
我已经实现了我认为正确的删除数据库的方法(raven作为服务运行),基于1.2 raven Studio的方法,并将代码移植到windows控制台
static class Program
{
static void Main(string[] args)
{
try
{
using (var store = new DocumentStore { ConnectionStringName = "RavenDB" }
是否可以通过代码在新的RavenDB数据库上配置版本控制
我正在使用以下代码(基于):
但是,当我在数据库中添加和修改记录时,版本控制不起作用。这段代码很好,但它只是创建了版本控制包将查找的配置信息。它实际上并没有启用捆绑包
对于任何命名的bundle,可以通过在Raven/ActiveBundles设置中包含名称来启用它,该设置是一个以分号分隔的bundle名称列表
“命名”捆绑包是指那些使用[ExportMetadata]属性导出捆绑包“名称的捆绑包。所有内置的bundle都可以做到这一点。
我有两个文档Ticket和MenuItem,我用TransformResults创建了索引,但问题是我在transform中为加载的文档获取空值
public class Ticket
{
public int ID { get; set; }
public int ItemId { get; set; }
public string ItemName { get; set; }
public int Price { get
让我们以RavenDb文档中的简单索引为例:
public class SampleIndex : AbstractIndexCreationTask<Invoice>
{
public SampleIndex()
{
Map = invoices => from invoice in invoices
select new
{
正如我在上一个问题()中提到的,我现在研究的是远程队列和以前的本地队列,我使用的是Rebus 0.83。在这种情况下,我的RavenDB与我的Rebus windows服务在一台单独的机器上。“System.Net.Sockets.SocketException:无法建立连接,因为目标计算机主动拒绝了它127.0.0.1:8080”我在代码中的任何地方都没有使用localhost,我检查了配置,它指向RavenDB的正确url。我的配置是
Configure.With(new WindsorCo
我有一个完全空的RavenHQ数据库,它链接到我的Appharbor应用程序。数据库当前使用的空间量为1.1mb,而我的bronze帐户的可用空间为25mb。数据库以前有记录,但我在ManagementStudio中使用“DeleteCollection”删除了它们
第一次调用session.Store(myobject)时,在调用.SaveChanges()之前,我遇到了以下错误
System.InvalidOperationException: Url: "/docs/Raven/Hilo/
我想为我的Raven数据库中的每个文档获取Raven Clr类型。我尝试了以下索引,但仅检索文档Id:
地图:
转换:
from result in results
select new {Id = result.Id, DocumentType = result.DocumentType, LastModified = result.LastModified}
我的目标是获取文档元数据并显示一个独特的集合/文档类型列表,如RavenStudio。我想创建一个投影并填充
是否有一个通用的数据接口?例如,Java、Python甚至PHP如何与RavenDB交互?在Ravendb3.0中,他们还添加了Java客户端。我自己没有试过,但你可以在这里阅读:
在那篇博文中,Ayende还提到:
RavenDB始终可以从其他平台访问。我们有来自Python和Node.JS的用户使用RavenDB,也有使用Ruby和PHP的用户,尽管没有公开的资源
在RavenDB 3.0中,我们发布了RavenDB的官方Java客户端API。如果您熟悉RavendbAPI或Hiberna
我正在尝试删除RavenDB中的一个文档,该文档在一台机器上运行3个节点(开发设置)。
下面是删除文档的代码
public bool Remove<T>(string id) where T : new()
{
bool bResult = false;
using (var session = _session.OpenSession())
{
session.Delete(id);
session.SaveChanges()
1 2 3 4 5 6 ...
下一页 最后一页 共 13 页