MongoDartError(MongoDart错误:未知顶级运算符:$filter):Dart
试图过滤掉任何对象吗?在朋友阵列中?与字段“friends.username”的值不匹配one@one.comMongoDartError(MongoDart错误:未知顶级运算符:$filter):Dart,dart,mongo-dart,Dart,Mongo Dart,试图过滤掉任何对象吗?在朋友阵列中?与字段“friends.username”的值不匹配one@one.com final userDoc = await store.find({ '_id': ObjectId.fromHexString(authDetails.subject), 'friends.username': 'one@one.com', '\$filter': {'friends.username': 'one@one.com'} }).f
final userDoc = await store.find({
'_id': ObjectId.fromHexString(authDetails.subject),
'friends.username': 'one@one.com',
'\$filter': {'friends.username': 'one@one.com'}
}).forEach((element) {
print(element);
});
我知道这是可能的,因为我可以使用
Object newReceived = {
'username': myUsername,
'timestamp': addedTime,
};
//add your name to their friend request received list
await store.updateOne({
'_id': theirId
}, {
'\$push': {'friendRequestReceived': newReceived}
});
mongodb数据库结构如下:
{
"_id" : ObjectId("60b2faa2de1f7691268bf907"),
"email" : "nine5@one.com",
"emailverified" : false,
"username" : "nine5@one.com",
"displayName" : "complete n00b",
"dob" : "",
"points" : 0,
"attended" : 0,
"hosted" : 0,
"friends" : [
{
"username" : "one@one.com",
"timestamp" : "2021-05-29 19:38:58.758325"
},
{
"username" : "nine4@one.com",
"timestamp" : "2021-05-29 19:39:54.915636"
}
]
}
我只想获取任何具有“用户名”的文档one@one.com在与“_id”关联的“friends”数组下:ObjectId(“60b2faa2de1f7691268bf907”)。过滤掉所有不需要的用户名,我希望最终使用这个结构只返回来自一个名为messages的数组中的某个用户的消息,该数组名为“_id”:ObjectId(“60b2faa2de1f7691268bf907”)。谢谢