- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在开发一个应用程序,其模型类似于 Stack Overflow(问题/答案等...) Modelling a NoSQL Forum Application with C# / ASP.net MVC
模型看起来像这样(简化)
class Question
{
public string Title { get; set; }
public string Body { get; set; }
public DateTime DateCreated { get; set; }
public string UserName { get; set; }
public List<Answer> Replies { get; set; }
}
class Answer
{
public string Body { get; set; }
public DateTime DateCreated { get; set; }
public string UserName { get; set; }
}
所以我的文档只是一个文档,其中嵌入了“答案”
我正在尝试为这种方法设计我的存储库。
我应该有 2 个单独的存储库吗?例如:
interface IQuestionRepository
{
void PutQuestion(Question question);
Question GetQuestion(string questionID);
}
interface IAnswerRepository
{
void PutAnswer(string questionID, Answer Answer);
Answer GetAnswer(string answerID);
}
或者像这样:
interface IPostRepository
{
void PutQuestion(Question question);
Question GetQuestion(string questionID);
void PutAnswer(string questionID, Answer Answer);
Answer GetAnswer(string answerID);
}
最佳答案
您的模型存在固有缺陷。
问题应该是根文档。
答案应该是根文档。
虽然是针对 RavenDB 编写的,但文档建模信息大部分可供您直接使用:http://codeofrob.com/archive/2010/12/21/ravendb-document-design-with-collections.aspx
编辑: FWIW 您的模型存在缺陷的原因在于您希望您的文档对事务边界建模的文档数据库。想一想堆栈溢出的编辑场景,以及保持与多个人添加和更新答案的一致性将是多么噩梦,这些答案都会改变根文档,而张贴者正在更新问题。单个对象的争用量会很成问题。
RavenDB 提供了他们所谓的“补丁”,让您可以操纵文档结构的一部分而不是整个文档来解决这样的问题,但最好预先避免这种设计,而不是试图通过大大增加您的持久性模型的复杂性必须进行部分更新并处理复杂的并发情况。
然后回答具体问题,然后你会有一个 AnswersRepository 和一个 QuestsionsRepository
关于c# MongoDB (noRM) - 带有嵌入式文档的存储库模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554755/
所以我已经粘贴了我的完整代码供您引用,我想知道这里的ppf和cdf有什么用?你能解释一下吗?我做了一些研究,发现 ppf(百分比点函数)是 CDF(累积分布函数)的倒数 如果确实如此,如果我将 ppf
我正在使用我在互联网上找到的一段代码 ( here ) 来计算点和线段之间的距离。这是代码: float dist_Point_to_Segment( Point P, Segment S) {
我正在基于 MongoDB 实现博客。 让我们先看看 Mongo 家伙如何推荐我们存储博客文章及其评论 (http://www.mongodb.org/display/DOCS/Schema+Desi
我在汉明距离的帮助下寻找视频中两个图像的差异。这是我的代码: #include #include "opencv2/opencv.hpp" using namespace cv; int main(
假设我们有以下文档结构: class BlogPost { [MongoIdentifier] public Guid Id{get;set;} public string Body
使用 MongoDb NORM 驱动程序,有谁知道是否可以将光标移至类似于下面的“查询”集合,以便可以检索“页面”文档以及查询文档的总数? > var j = db.People.find().ski
有没有人有关于如何使用 NORM (C#) 在 MongoDB 中查询嵌套/内部对象的示例?例如,如果集合中的典型文档看起来像 Order/OrderItems,我如何通过 OrderItem.Qua
我正在开发一个应用程序,其模型类似于 Stack Overflow(问题/答案等...) Modelling a NoSQL Forum Application with C# / ASP.net M
我在 Pyzo 中使用 Python 3。请告诉我为什么 linalg.norm 函数不能识别 axis 参数。 这段代码: c = np.array([[ 1, 2, 3],[-1, 1, 4]])
这个问题在这里已经有了答案: How to determine the version of the C++ standard used by the compiler? (9 个回答) 关闭6年前。
我正在关注 Transfer learning and fine-tuning guide在 TensorFlow 官方网站上。指出在微调期间,batch normalization 层应该处于推理模
Batch normalization使用小批量均值和方差来归一化层输出。如果我训练一个批量大小为 100 的网络,但想在单次预测(批量大小 1)上使用经过训练的网络,我应该会遇到问题吗? 我是否应该
这是一个非常基本的问题,但我似乎找不到好的答案。 scipy 到底计算什么内容 scipy.stats.norm(50,10).pdf(45) 据我了解,平均值为 50、标准差为 10 的高斯中像 4
我不能这样做: Vector2i vec(0, 1, 2); cout (); cout ),它只适用于这种类型的元素。所以你的建议完全正确。 关于特征:不能对 Vector2i 使用 norm()
numpy.linalg.norm的作用是什么?方法? In this Kmeans Clustering sample numpy.linalg.norm函数用于获取运动质心步骤中新质心和旧质心之间
我正在使用sklearn.preprocessing.normalize符合 l1 和 l2 规范。我也想尝试 max,因为它提到: norm : ‘l1’, ‘l2’, or ‘max’ 所以我做到
我是 Java 的新手,并不知道如何搜索它。因为谷歌搜索 1。 double java 没有给我任何令人满意的搜索结果。 我遇到了这段代码: public Vector normalize() {
我正在将 Threejs 和 CannonJS 与 collada 模型一起使用 我收到此错误,但是收集每帧的物理量(即控制台计算每帧的每个物理运动)。 Uncaught TypeError: Obj
以下给出错误: print numpy.linalg.norm(2) # returns 2 print numpy.linalg.norm(2, np.inf) # returns error, p
我正在尝试获取数组中每个向量的大小,如下所示; [[0.1,1.0,2.0] [0.5,2.0,1.0] [0.4,3.0,0.5]] 我想像这样将它们放入一个新的 numpy 数组中; [[1.2]
我是一名优秀的程序员,十分优秀!