我收集了用户在商店购买的物品,以及他从朋友那里得到的喜欢和不喜欢的东西。集合字段如下所示:
{
"_id" : ObjectId("543e43cea7c481c4820ab014"),
"user" : "542ea90fbb1e37b09f660980",
"product" : "543e43cea7c481c4820ab013",
"store" : "542e6fb1a2a8a7a071490555",
"status" : "active",
"dislikes" : 1,
"likes" : 3,
"addedAt" : ISODate("2014-10-15T09:52:14.661Z")
}
现在,我想得到以下总结:
对于#1,我做了:
[
{$group: {_id: '$user', rankDiff: {$sum: {$subtract: ['$likes', '$dislikes']}}}},
{$match : { _id: 'X'}}
],
我得到了正确的结果:
[{"_id":"542ea90fbb1e37b09f660980","rankDiff": 2}]
但当我试图通过以下方式获得#2时:
[
{$group: {_id: '$user', rankDiff: {$sum: {$subtract: ['$likes', '$dislikes']}}}},
{$match : { _id: 'X'}, store: 'Y'}
],
或者通过以下方式获得#3:
[
{$group: {_id: '$user', rankDiff: {$sum: {$subtract: ['$likes', '$dislikes']}}}},
{$match : { _id: 'X'}, store: 'Y', product: 'Z'}
],
没有结果作为回报。
有人能帮我吗?我做错了什么?
p、 这一切都是由Mongoose完成的,但也通过我的MongoDB实例直接与Robomongo合作
找到后,quesry语法应为:
[
{$match : { user: 'X', store: 'Y', product: 'Z'},
{$group: {_id: '$user', rankDiff: {$sum: {$subtract: ['$likes', '$dislikes']}}}}
]
现在它可以正常工作了。
谢谢
我尝试在数据帧“df_energy”中添加一个新的列“energy_class”,如果“consumpion_energy”值为 有什么办法可以帮我吗? 先谢谢你
问题内容: 我有以下文件- 在这种情况下,数组可以具有多个元素。当我通过API执行搜索时,理想情况下,我会传递类似于请求正文中的数组- 我有一个结构来接收和解码此信息- 我还可以对各种对象执行mongodb 操作,并且只有当它们全部匹配时,才返回文档。这里的问题是数组中的元素数量不固定。我需要能够发送 并检索所有匹配的文档(而不仅仅是一个)。 我尝试使用for循环来创建可变大小,具体取决于接收作为
问题内容: 我想知道是否可能有这样的事情: 知道项目是通过请求接收的JSON容器,因此这就是为什么我使用键值方法的原因。 谢谢 我之所以问是因为我尝试使用Google进行谷歌搜索,但是我唯一能得到的结果是,但是我必须使用。 问题答案: 你当然可以。就像是: HTML JS 演示小提琴
我在Amazon DynamoDB表分区键和范围键。 表结构 现在我想使用带有多个扫描条件的C#库从表中检索数据。 HashKey=123 有什么方法可以使用c#dynamoDB API实现这一点吗?请帮忙
问题内容: 我有2张桌子: 表: 表: 现在,我想获取所有位置并过滤两个属性: 我正在尝试构造一些查询,如下所示: …但是仍然无法得到我所需要的。 问题答案: 经过几个小时的合并和尝试,我终于做到了: 我太接近了,因此将所有过滤条件都移至。
问题内容: 我有一个变量。 我想呼应,如果等于任何下列值,,,,或。有没有办法通过像?? 这样的单个语句来做到这一点? 问题答案: 我认为,使用“ Or”代替“ And”会有所帮助