我创建了一个包含以下命令的集合:
db.device_states.documentKey.insert({"device":"nest_kitchen_thermo"})
当我尝试执行以下命令时,出现错误:
db.device_states.watch( {
$match: {
"documentKey.device": {
$in : [ "nest_kitchen_thermo"]
},
operationType: "insert"
}
});
语法错误:缺少:属性id:
之后
更新的集合如下所示:
{
_id: <resume_token>,
operationType: 'insert',
ns: {db:'example',coll:"device_states"},
documentKey: { device:'nest_kitchen_thermo'},
fullDocument: {
_id : ObjectId(),
device: 'nest_kitchen_thermo',
temp: 68
}
}
答案 0 :(得分:0)
在Mongo shell中,没有这样的查询属性watch
。 $match是聚合管道的一部分,应该在聚合操作中使用。
修改后的查询(Mongo Shell)是
db.device_states.documentKey.aggregate([
{ $match:
{
"device": { $in: ["nest_kitchen_thermo"] },
operationType: "insert"
}
}
]);