请教大家一个数据库设计的问题
发布于 4 天前 作者 lzszone 441 次浏览 来自 问答

我在维护一个论坛,数据库打算更换到mongodb, 然后遇到了这样一些问题 查询大概是这样的步骤:

数据表T,  数组A[objectid关联 表T]
1.筛选T得到结果1;
2.从数组A中拓展得到结果2;
3.合并结果1结果2,得到结果3;
4.筛选排序结果3,得到最终结果;

第一个问题: 这样的查询MONGO怎么实现? 第二个问题: 在aggregate中如何返回这种结果(分页)

{
	length: x,
	documents: [
		doc1,
		...
	]
}
6 回复

。。。。。

第一个,看不懂。第二个,mongodb做分页,网上有各种方案。length需要单独查询一次。

不明觉厉没有DBA还迁移到Mongodb请问有什么好处?

  • 第一个:

T.find(condition).populate(‘A’).sort(condition: -1)

需要在 T 中对应的 objectId 做 ref,参考 mongoose population

  • 第二个: 分页是有 skip/limit 方法的,但是 length 应该指的是总数 count? 这个就需要再查一次了,mongoose 提供 count 方法

选择mongodb 的时候设计思想需要变一变,尽量使用反范式化设计

From Noder

因为mongodb 本身是面向文档的

From Noder

回到顶部