5.3.2上下文

上下文超类型是会话而且批处理.它包含从会话调用时立即执行的函数,或者在执行批处理时立即执行的函数。

Mynode实现没有任何用户的概念,也没有定义任何这样的属性。

找到(函数构造函数、对象、功能(对象错误、对象实例[…])回调[…]);找到(字符串的表、对象、功能(对象错误、对象实例[…])回调[…]);

根据主键或唯一键值查找特定实例。

您可以使用此函数的两个版本中的任意一个。在第一个版本中构造函数参数是映射域对象的构造函数。或者,您也可以使用的表相反,在函数的第二个变体中。

对于两个版本的find (),可以是任何类型的。键必须唯一标识数据库中的单行。如果是简单类型(数字或字符串),则参数类型必须与映射对象的主键类型相同或兼容。否则,将从参数中获取属性,并与映射中的属性名称进行匹配。如果所有属性都存在,则使用主键属性,而忽略其他属性。如果不能用来标识主键,因此使用与唯一键列对应的属性名代替。如果没有找到完整的主键或唯一的键属性,则报告错误。根据映射和数据库中的当前值加载返回的对象。

对于多列主键或唯一键,必须设置所有键字段。

负载(对象实例、功能(对象错误回调);

通过将其主键或唯一键与数据库行匹配来加载特定实例,而不创建新的域对象。(这和find (),它将创建一个新的映射域对象。)

实例必须设置其主键值或唯一键值。对象中的映射值基于数据库中的当前值加载。对象中未映射的属性不会被更改。

如果所有属性都存在,则使用主键属性,而忽略所有其他属性;否则,将使用与惟一键列对应的属性名。如果找不到完整的主键或唯一键属性,则报告错误。

回调函数在操作完成时使用提供的参数调用。的错误是Node.js吗错误对象;看到第5.3.4节“错误”,以查询更多资料。

坚持(对象实例、功能(对象错误回调);persist(函数构造函数、对象、功能(对象错误回调);坚持(字符串的表、对象、功能(对象错误回调);

向数据库中插入一个实例,除非该实例已经存在于数据库中,在这种情况下,异常将报告给回调函数。时,实例中会出现自动生成的值回调是执行。

要持久化的实例的角色可以通过三种方式中的任何一种来实现:通过实例对象;通过构造函数,带有参数,用于映射的域对象;或者通过表名和要插入的值。

在这三种情况下回调函数在操作完成时使用提供的参数(如果有的话)调用。的错误是Node.js吗错误对象;看到第5.3.4节“错误”,以查询更多资料。

删除(对象实例、功能(对象错误回调);remove(函数构造函数、对象、功能(对象错误回调);删除(字符串的表、对象、功能(对象错误回调);

通过主键或唯一键从数据库中删除类的实例。

有三个版本remove ();方法允许您删除实例实例对象,指向构造函数函数,或通过表的名称。的实例对象必须包含惟一标识数据库中单行的键值。否则,如果随函数构造函数或表名一起提供的是一个简单类型(数量字符串),则参数类型必须与映射对象的主键类型相同或兼容。如果不是简单类型,属性从参数中获取,并与映射中的属性名称进行匹配。如果所有属性都存在,则使用主键属性,而忽略其他属性。如果不标识主键,因此使用与唯一键列对应的属性名。如果没有找到完整的主键或唯一键属性,则向回调

所有三个版本的remove ()调用回调在操作完成时,使用提供的参数(如果有的话)函数。的错误object是Node.js错误;看到第5.3.4节“错误”,表示错误代码。

更新(对象实例、功能(对象错误回调);更新(函数构造函数、功能(对象错误回调);更新(字符串的表函数(对象错误)回调);

更新数据库中的实例没有找回它。主键用于确定更新的是哪个实例。如果实例在数据库中不存在,则在回调

与前面展示的将实例持久化并从数据库中删除实例的方法一样,update ()存在三个变体,它们允许您使用实例作为一个对象,一个对象构造函数,或通过的表而且

的惟一关键字段对象决定实例需要更新。的对象提供要更新的值。如果对象包含与主键对应的所有字段,主键标识实例。如果不是,则以不确定的方式选择惟一键。

请注意

update ()不能用于更改主键。

保存(对象实例、功能(对象错误回调);保存(函数构造函数、对象、功能(对象错误回调);保存(字符串的表、对象、功能(对象错误回调);

在数据库中保存实例,而不检查其是否存在。如果实例已经存在,则更新它(就像您已经使用了update ());否则,它会被创建(就像persist ()已经被使用过)。实例id属性用于确定应该保存哪个实例。与update ()persist (),remove (),此方法允许您使用对象、对象构造函数或表名指定实例。

所有三个版本的save ()方法调用回调函数,使用操作完成时提供的任何参数。的错误是Node.js错误对象;看到第5.3.4节“错误”,查看错误代码和消息。

布尔isBatch ()

上下文也暴露了isBatch ()实例方法,如果出现上下文是一个批处理,如果是a则为false会话isBatch ()不容置疑。