小编t6d*_*t6d的帖子

如何结合Arel/ActiveRecord使用"DISTINCT ON"?

我有一个MessageActiveRecord模型,我想选择所有具有不同的消息conversation_partner_id.我目前正在将该DISTINCT ON子句指定为字符串,但我想知道它是否可以作为Arel表达式提供,以及是否会有好处.我的发言如下:

Message.select('DISTINCT ON ("messages"."conversation_partner_id") messages.*').from(t)
Run Code Online (Sandbox Code Playgroud)

where t是messages表的并集,并指定为有点复杂的Arel表达式.我把它留下来,因为它独立于SELECT问题并且工作得很好.

下面的代码并不能正常工作:

Message.select([
  Arel::Nodes::DistinctOn.new(Message.arel_table[:conversation_partner_id]),
  Message.arel_table[Arel.star]
]).from(t)
Run Code Online (Sandbox Code Playgroud)

它导致SQL格式错误,因为它在DISTINCT ON ()子句后放置逗号:

SELECT DISTINCT ON ("messages"."conversation_partner_id"), "messages".* ...
                                                         ^
Run Code Online (Sandbox Code Playgroud)

sql activerecord ruby-on-rails arel distinct-on

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

键入 React 组件工厂函数

鉴于类型

type EnumerableComponentFactory = <C, I>(config: {
  Container: React.ComponentType<C>;
  Item: React.ComponentType<I>;
}) => React.FC<{ items: I[] }>;
Run Code Online (Sandbox Code Playgroud)

具有以下实现

const Enumerable: EnumerableComponentFactory =
  ({ Container, Item }) =>
  ({ items }) =>
    (
      <Container>
        {items.map((props, index) => (
          <Item key={index} {...props} />
        ))}
      </Container>
    );
Run Code Online (Sandbox Code Playgroud)

和预期用途

const UnorderedList = Enumerable({
  Container: ({ children }) => <ul>{children}</ul>,
  Item: ({ title }: { title: string }) => <li>{title}</li>,
});

<UnorderedList items=[{title: "Something"}] />
Run Code Online (Sandbox Code Playgroud)

我观察到以下 TypeScript 错误

Type '{ children: Element[]; }' is not …
Run Code Online (Sandbox Code Playgroud)

factory type-constraints typescript reactjs tsx

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

如何使用Sequel和Ruby序列化数据?

我有一个表应该存储id,名称和哈希.如何序列化哈希?(我使用Ruby和Sequel作为ORM.)

ruby sequel

3
推荐指数
2
解决办法
2580
查看次数

Supress使用LaTeX清单软件包创建的清单标题

我将LaTeX与Listings软件包结合使用,并且试图隐藏列表标题,以使其既不在实际列表下方也不在列表列表中查看。

将选项设置title为title=""或title=不起作用。它只会导致列表列表中列表的隐藏。但是,在第一种情况下""显示在列表下方,而在后一种Listing:情况下显示在列表下方。

有没有办法解决这个问题?

latex listings

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

Mac开发 - 从MacRuby或Objective-C开始?

我想深入研究为Mac开发应用程序,以及后来为iPhone开发应用程序.对我来说,作为一名Rubyist,很明显我同时学习了MacRuby和Objective-C.问题只是我应该按照哪种顺序进行.是先更容易学习Objective-C然后结合两个世界的知识并开始学习MacRuby,还是更容易从MacRuby开始慢慢找到开发Mac应用程序的方法?

我对Ruby语言的理解非常好 - 有5年的经验,而且我对C有一个很好的理解.以防万一这样可以更容易回答我的问题.

macos objective-c macruby

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

如何从 Mongo 集合中$pull 不在给定列表中的嵌入文档?

我有一个名为文档的 Mongo 集合,它具有以下结构:

{
  name: "..."
  tokens: [
    {
       _id: <string (unique)>,
       tf: <integer>,
       tf_idf: <float>
    },
    ...
  ]
}
Run Code Online (Sandbox Code Playgroud)

我有一个要保留的令牌列表。是否有可能以某种方式建立查询$pull以删除其 id 未包含在列表中的所有令牌?

以下不起作用:

db.documents.update({name: "foo"}, { 
   $pull : { 
       $not : {
           $elemMatch : { 'tokens' : { '_id' : ['foo', 'bar'] }}
       }
   }
})
Run Code Online (Sandbox Code Playgroud)

到目前为止,我看到的唯一替代方法是遍历所有文档并检查客户端是否保留令牌并最终将它们一一删除。我宁愿使用一种不涉及将所有数据拉到客户端的方法,只是为了检查哪些令牌可以删除,哪些不能。

pull mongodb

0
推荐指数
1
解决办法
2184
查看次数