一直试图通过在数组的“对话用户”字段中搜索用户来找回发送的消息,但是即使发送新消息后,我也总是会得到一个空数据数组。
我的查询
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK){
Uri uriImagen = data.getData();
storageReference = storage.getReference("chat_images");//El nombre de la carpeta en la que voy a guardar las imagenes
final StorageReference photoReference = storageReference.child(uriImagen.getLastPathSegment()); //Obtenemos como un id de la imagen que la diferencia de todas las demás
photoReference.putFile(uriImagen).addOnSuccessListener(this, new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
String urlPhoto = taskSnapshot.getMetadata().getReference().getDownloadUrl().toString();
Log.v("Url de la foto", urlPhoto);
Message m = new Message(tvName.getText().toString() + " te ha enviado una foto", urlPhoto, tvName.getText().toString(), "", "2", "00:00");
databaseReference.push().setValue(m);
}
});
}
}
这是将其插入mongodb的方式
const ids = [{user : req.user.id} ,{user : req.params.id}]
let records = await Conversation.find({
users : {$in : ids}
})
.sort({ updatedAt: -1 })
.limit(20)
console.log(records)
这是架构
let message_comtent ={
users : [{user : req.user.id}, {user :req.body.id}],
message :{ text : req.body.message},
sender : req.user.id
}
const newMessage = new Conversation(message_comtent)
newMessage.save()