在任何编程语言教科书中,我们总是被告知该语言中的每个运算符是如何具有左或右结合性的。看起来结合性是任何运算符的基本属性,无论它需要多少个操作数。在我看来,无论我们如何将结合性分配给其他操作符,我们都可以将任何结合性分配给任何运算符。
但为什么会这样呢?也许举个例子更好。假设我想设计一种假设的编程语言。以这种任意的方式为这些运算符分配结合性(所有运算符都具有相同的优先级)是否有效:
unary operator:
! right associative
binary operators:
+ left associative
- right associative
* left associ
我想要更新文档中各个层次上的各个字段,并通过一个调用应用所有更改。理想情况下,驱动程序将使用models.Save(模型)遍历对象模型并识别更改,但这似乎对图形中2个级别的更改没有影响。
因此,我现在正在尝试使用这种方法更新整个文档,但没有任何影响。你知道正确的语法是什么吗?
var models = _database.GetCollection<Model>("Models");
var modelQuery = Query.EQ("_id", new ObjectId("4dfa2601dc1c791d40106a25"));