我有一个保存"Item"数据的集合 case ,带有必需的 node "Owner"和可选的 node "Status".
{ _id: 123, item: {some: "data 123" }, owner: {id: 456} }
{ _id: 124, item: {some: "data 124" }, owner: {id: 789}, status: { ok: 1} }
当插入新记录时,如果新的owner.id
等于旧的owner.id
,那么我希望新记录具有相同的status
用SQL表示,它应该是这样的
INSERT INTO mytable
(
id,
item_some,
owner_id,
status_ok
)
VALUES (
125,
'data 125',
789,
(SELECT COALESCE(status_ok, null) FROM mytable WHERE owner_id=789 LIMIT 1)
);
我看着$expr
,但不确定如何在db.collection.insert()
使用它...
提前谢谢你