小编Jua*_*mpa的帖子

Node.js - Mongoose - 检查集合是否存在

我需要使用mongoose插入一些数据,但是集合的名称是由用户在插入时提供的,所以我首先要检查集合是否存在.

我知道如何检查集合是否存在的方式是查询system.namespaces集合.我可以看到3种可行的方法.

  1. 找到一种system.namespaces使用mongoose 查询的方法(可能定义与db中的模式匹配的模式).
  2. 从mongoose获取一些底层node-mongodb-native对象并手动执行查询.无论如何,这是我想学习的方法.
  3. 使用node-mongodb-native(或其他一些驱动程序)的单独实例来执行查询

3是最不优雅的,也是我想要避免的,我不想加载驱动程序的另一个实例,也不想在mongoose创建一个时创建新的连接.

1写完这篇文章之后我会尝试编号.我刚刚检查过system.namespaces,架构看起来很简单

我还是想听听一些意见.

谢谢!

mongoose mongodb node.js

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

Mongoose - (MongoDB)中不同集合的相同模式

我正在创建一个应用程序(Express + MongoDB + Mongoose),其中文档按组自然聚集.对数据库的每个查询只需要访问单个组中的文档.所以我认为为了提高性能,将每个组分成自己的集合是个好主意.

现在,我将为每个集合使用相同的Schema,因为它们将存储相同类型的文档.我曾经有一个Model对象,因为我曾经在一个集合中拥有所有东西,但现在我需要多个模型,每组一个.

在每个请求(使用共享架构)上创建一个新的Model对象是一个好主意还是这太贵了?在这种情况下,什么是一个好的架构决策?

我能想到的最好的方法是在第一次有一个集合请求时创建一个Model,然后将Models缓存在字典中以便快速访问.

我想最好的方法取决于在每个请求上创建新Model对象的成本.

谢谢!

mongoose mongodb node.js

16
推荐指数
1
解决办法
6906
查看次数

如何配置Upshot以将ViewModel部分更新回服务器?

我使用Steven Sanderson的说明创建了单页应用程序(ASP.NET MVC4).我目前看到的问题是,无论何时编辑项目并保存更改,Upshot都会将整个项目发送回服务器,而不仅仅是修改后的属性.(我知道这是因为firebug可以检查发送到服务器的内容).

我很确定upshot应该只能发送修改后的属性,因为它使用了knockout observables,因此它可以跟踪改变的内容和不改变的内容.

我的问题是,目前是否可能(可能是某种配置参数)或者我应该等待未来的版本来实现这个?Upshot是一个相当新的库,因此现在查找文档非常困难.

asp.net-mvc-4 upshot

9
推荐指数
1
解决办法
310
查看次数

Knockout.js - 如何更改viewmodel

我正在尝试更改绑定到DOM模板某些部分的视图模型(而不是更改视图模型的值)但我无法弄清楚它是如何或是否可能

这是场景:

  • 创建一个新的View Model对象
  • 绑定它(例如applyBindings(myViewModel)
  • 创建另一个View Model对象
  • 将新对象绑定到DOM的同一部分,以便所有元素现在都绑定到新对象.

我想做相当于改变WPF中控件的DataContext的值(KO的MVVM模式所基于的)

这样做的原因是我试图对列表中对象的表示和对象在其自己的视图中的表示使用相同的视图模型,因此我已经有一个视图模型用于显示的所有对象列表.

还有其他解决方法,但我认为这将是最优雅的方式.

javascript mvvm knockout.js

5
推荐指数
1
解决办法
7429
查看次数