我试图实现这个并且它在MongoDB shell中工作,但是如何将属性id
设置为要调用的js存储过程的值?我尝试过的每件事都以id
属性中的js函数名称保存为字符串。
我为id
创建了自定义序列化程序:
public class MyIdSerializer : SerializerBase<Int64>
{
public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, Int64 value)
{
if (value == 0) {
context.Writer.WriteString($"getValueForNextSequence(\"myCollection\")");
}
else
context.Writer.WriteInt64(value);
}
}
如果值id
(即:插入新文档),我只需要设置0
值。
此代码将函数名称存储为字符串,不会执行它。