PDF (US Ltr) - 1.4Mb
PDF (A4) - 1.4Mb
Table.select()
和 collection.find()
使用不同的方法对结果进行排序。 Table.select()
遵循 SQL 语言命名,并调用排序方法 orderBy()
。 Collection.find()
没有这样做。使用方法 sort()
对 Collection.find()
返回的结果进行排序。在此,与 SQL 标准的接近性被认为比 API 一致性更重要。
此函数在 EBNF 中显示的语法为
TableSelectFunction
::= '.select(' ProjectedSearchExprStrList? ')' ( '.where(' SearchConditionStr ')' )?
( '.groupBy(' SearchExprStrList ')' )? ( '.having(' SearchConditionStr ')' )?
( '.orderBy(' SortExprStrList ')' )? ( '.limit(' NumberOfRows ')' ( '.offset(' NumberOfRows ')' )? )?
( '.lockExclusive(' LockContention ')' | '.lockShared(' LockContention ')' )?
( '.bind(' ( PlaceholderValues ) ')' )*
( '.execute()' )?
此函数在 EBNF 中显示的语法为
TableInsertFunction
::= '.insert(' ( TableFields )? ')'
( '.values(' ExprOrLiteral (',' ExprOrLiteral)* ')' )+
( '.execute()' )?
此函数在 EBNF 中显示的语法为
TableUpdateFunction
::= '.update()'
( '.set(' TableField ',' ExprOrLiteral ')' )+ '.where(' SearchConditionStr ')'
( '.orderBy(' SortExprStrList ')' )? ( '.limit(' NumberOfRows ')' )?
( '.bind(' ( PlaceholderValues ) ')' )*
( '.execute()' )?