在Mongo db聚合函数中,何时在属性名称前加$ ??

时间:2018-12-14 18:17:29

标签: mongodb mongodb-query aggregate-functions

db.SHIPMENT.aggregate([{$match:{'WNAME':'R group'}},
{$lookup:{"from":"PART","localField":"PNO","foreignField":"PNO","as":"parts"}},
{$unwind:"$parts"},
{$project:{"PARTS":"$parts","_id":0}}])

db.SHIPMENT.aggregate([{$group:{"_id":"$WNAME",total:{"$sum":"$QUANTITY"}}}])

完整代码:https://github.com/VikasNS/RIT-5th-sem-DBMS/blob/master/A42.js

  1. 在聚合函数中:

    {$ match:{'WNAME':'R group'}

在此WNAME中确实有$

的前缀

但是

{$unwind:"$parts"},

部件的前缀带有$。

第二次查询

total:{"$sum":"$QUANTITY"}}

QUANTITY有$前缀。

那么,什么时候有$前缀,什么时候没有$?

1 个答案:

答案 0 :(得分:1)

在对象(即冒号右侧)中提供字段名称作为时,请使用Uncaught SyntaxError: Unexpected token T in JSON at position 0 at JSON.parse (<anonymous>) at Object.t.showDetailedHttpError (ToSic.Sxc.Instance.ts:73) at fire (jquery.js?cdv=209:1037) at Object.fireWith [as rejectWith] (jquery.js?cdv=209:1148) at done (jquery.js?cdv=209:8076) at XMLHttpRequest.callback (jquery.js?cdv=209:8598) 前缀。

一个例外是该字段只能是一个字段的名称,例如$对象的localFieldforeignField字段。