问题标签 [expando]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1339 浏览

c# - MongoDB NoRM:使用 Expando 查询嵌套对象

我看到了这个 Q&A MongoDB Norm query nested objects,但它似乎只适用于强类型对象。

有没有办法在 Expando 对象(https://github.com/atheken/NoRM/wiki/expando)上查找或更新嵌套字段?基本上,我有一个简单的 JSON CMS 工具,它允许开发人员将文档对象存储在服务器上,然后将其提供给 Flash 客户端。我需要提供一个简单的服务,开发人员可以在其中创建 JSON 对象、保存它、进行嵌套查询以及更新这些对象。

由于数据结构未知,我认为这将是使用 MongoDB 的理想场所。不幸的是,.Net 似乎更适合强类型数据结构。

有任何想法吗?谢谢!

0 投票
2 回答
595 浏览

dynamic - Groovy expando 动态集名称

是否可以动态设置expando的类?

设置好

有没有办法

以便

实际上会给我存储的价值


0 投票
1 回答
880 浏览

python - 在 Django 模板中迭代 Expando 的动态属性

我正在尝试遍历 Expando-Model 的动态属性以将它们全部输出。除了创建自己的方法之外,还有其他方法吗:

然后在模板中 - 传递一个“平台”对象:

这行得通,但我很惊讶我不能这样做:

没有我自己的方法调用......我应该使用'.items'以外的东西吗?

0 投票
2 回答
767 浏览

asp.net - 是否有跨浏览器的方式在 expando 属性上使用 jQuery 选择器?

我有一个 ASP.NET 页面,我正在尝试使用 jQuery 选择器快速匹配绑定到特定文本框(文本输入)的验证控件。验证控件呈现为跨度,“controltovalidate”属性呈现为扩展属性。这是一个测试示例:

呈现为:

问题:ml_test() 函数在 Internet Explorer 7 中显示为 1(如预期),但在 Firefox 3.6.8 中显示为 0。我尝试添加其他控件,但在 Firefox 中它始终不起作用。

我发现这篇文章显示了在这样的选择器中使用 & 符号[@expando=value],但是当我尝试这种语法时,jQuery 1.4.2 会引发错误。

是否有跨浏览器的方式来选择 expando 属性,如果有,正确的语法是什么?

0 投票
2 回答
1326 浏览

xml - 将数据库中的 NHibernate XML 文档扩展为实体中的对象

我有一个包含 xml 列的 SQL Server 数据库。我需要将该 xml 列映射到我的域实体中的 expando 对象。我正在使用 NHibernate。如何扩展 NHibernate 以适应这种情况?我假设(我是 NHibernate 的新手)我必须重写实现以获取和设置 xml 数据,但我不知道如何在 NHibernate 中执行此操作。

0 投票
1 回答
1025 浏览

google-app-engine - 什么时候应该在 Google App Engine 应用程序中使用 Expando 类?

Google App Engine Expando Class有哪些应用程序?以及与之相关的良好做法是什么?

0 投票
2 回答
915 浏览

python - 如何在 Google App Engine expando 类中创建动态字段?

我有一个名为 widget 的 db expando 类。

我传入一个 json 字符串并将其转换为 dict,然后将其添加到数据存储区。

我的问题是如何遍历我的 dict 来创建动态字段。

这将“k”呈现为我的字段名称,与字典中的 k 值相反。

0 投票
1 回答
792 浏览

java - Java 可以处理 Expando 吗?

我会将来自 Google 联系人的数据与 App Engine 中的数据存储区同步……我在 Python 中执行此操作,稍后将由 Java GAE 实例读取数据存储区。

使用 Expando 感觉很自然,但我不确定 Java 实例是否能够正确读取它。如果答案是“不,Java 不会读取它”,那么最佳解决方案是什么?

0 投票
1 回答
1994 浏览

python - 在 Google App Engine 中实施有效的记录更改审计跟踪 - 设计模式

我有一个很常见的设计问题:我需要为 Google App Engine 中的记录实现历史日志(审计跟踪)。历史日志必须是结构化的,即我不能将所有更改加入到一些自由格式的文本中并存储在字符串字段中。

我已经考虑了历史模型的以下选项,并且在注意到选项 #1 中的性能问题后,我选择实施选项 #3。但是对于这个解决方案是否高效且可扩展仍有一些疑问。例如:随着选项#3 中动态属性数量的增加,是否存在性能显着下降的风险?

您是否对每个选项的优缺点有更深入的了解,或者可以建议适用于 Google App Engine DB 特征的其他审计跟踪设计模式?

  1. 使用经典 SQL 的“主从”关系
    • 优点
      • 对有 SQL 背景的数据库开发人员来说简单易懂
      • clean:直接定义历史记录及其属性
      • 搜索性能:轻松搜索历史(可以使用索引)
      • 故障排除:通过管理工具轻松访问 (_ah/admin)
    • 缺点
      • 通常不建议在 GAE DB 中以这种方式实现一对多关系
      • 读取性能:过多的记录读取操作以显示较长的审计跟踪,例如在大记录列表的详细信息窗格中。
  2. 在 BLOB 字段中存储历史记录(腌制的 Python 结构)
    • 优点
      • 实施简单且灵活
      • 读取性能:非常高效
    • 缺点
      • 查询性能:无法使用索引进行搜索
      • 故障排除:无法通过 admin db viewer (_ah/admin) 检查数据
      • unclean:对于 SQL 开发人员来说不太容易理解/接受(他们认为这很难看)
  3. 在 Expando 的动态属性中存储历史记录。例如,为每个字段fieldName创建history_fieldName_n字段(其中 n=<0..N> 是多个历史记录)
    • 优点:
      • 简单:易于实现和理解
      • 故障排除:可以通过管理界面读取所有历史属性
      • 读取性能:一次读取操作即可获取记录
    • 缺点:
      • 搜索性能:不能简单地搜索历史记录(它们有不同的名称)
      • 不太干净:属性的数量乍一看可能令人困惑
  4. 将历史记录存储在主记录中的一组列表字段中。例如。为每个fieldName创建一个fieldName_history列表字段
    • 优点:
      • clean:直接定义历史属性
      • 简单:SQL 开发人员易于理解
      • 读取性能:一次读取操作即可获取记录
    • 缺点:
      • 搜索性能:只能使用索引搜索任何时候都具有某些值的记录,而不能搜索在某个特定时间具有值组合的记录;
      • 故障排除:在 admin db viewer 中检查列表很困难
0 投票
2 回答
369 浏览

c# - 如何获取expando对象的调用成员名称?

如上面的代码,test.B 不是“test”的成员。但是我怎么知道'B'在打电话。我发现的唯一方法是查看 ex.Message 但这不是正确的方法。